1bf215546Sopenharmony_ci#ifndef NVC0_3D_XML
2bf215546Sopenharmony_ci#define NVC0_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://github.com/envytools/envytools/
8bf215546Sopenharmony_cigit clone https://github.com/envytools/envytools.git
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ciThe rules-ng-ng source files this header was generated from are:
11bf215546Sopenharmony_ci- rnndb/graph/gf100_3d.xml   (  59971 bytes, from 2014-09-26 00:01:33)
12bf215546Sopenharmony_ci- rnndb/copyright.xml        (   6456 bytes, from 2014-12-31 02:13:31)
13bf215546Sopenharmony_ci- rnndb/nv_defs.xml          (   4399 bytes, from 2013-09-07 03:32:45)
14bf215546Sopenharmony_ci- rnndb/graph/nv_3ddefs.xml  (  16390 bytes, from 2014-09-25 06:32:11)
15bf215546Sopenharmony_ci- rnndb/fifo/nv_object.xml   (  15326 bytes, from 2014-09-25 06:32:11)
16bf215546Sopenharmony_ci- rnndb/nvchipsets.xml       (   2759 bytes, from 2014-10-05 01:51:02)
17bf215546Sopenharmony_ci- rnndb/g80_defs.xml         (  18175 bytes, from 2014-09-25 06:32:11)
18bf215546Sopenharmony_ci- rnndb/graph/gk104_p2mf.xml (   2376 bytes, from 2014-09-25 06:32:11)
19bf215546Sopenharmony_ci
20bf215546Sopenharmony_ciCopyright (C) 2006-2014 by the following authors:
21bf215546Sopenharmony_ci- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
22bf215546Sopenharmony_ci- Ben Skeggs (darktama, darktama_)
23bf215546Sopenharmony_ci- B. R. <koala_br@users.sourceforge.net> (koala_br)
24bf215546Sopenharmony_ci- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
25bf215546Sopenharmony_ci- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
26bf215546Sopenharmony_ci- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
27bf215546Sopenharmony_ci- Dmitry Baryshkov
28bf215546Sopenharmony_ci- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
29bf215546Sopenharmony_ci- EdB <edb_@users.sf.net> (edb_)
30bf215546Sopenharmony_ci- Erik Waling <erikwailing@users.sf.net> (erikwaling)
31bf215546Sopenharmony_ci- Francisco Jerez <currojerez@riseup.net> (curro)
32bf215546Sopenharmony_ci- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
33bf215546Sopenharmony_ci- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
34bf215546Sopenharmony_ci- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
35bf215546Sopenharmony_ci- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
36bf215546Sopenharmony_ci- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
37bf215546Sopenharmony_ci- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
38bf215546Sopenharmony_ci- Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
39bf215546Sopenharmony_ci- Mark Carey <mark.carey@gmail.com> (careym)
40bf215546Sopenharmony_ci- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
41bf215546Sopenharmony_ci- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
42bf215546Sopenharmony_ci- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
43bf215546Sopenharmony_ci- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
44bf215546Sopenharmony_ci- Peter Popov <ironpeter@users.sf.net> (ironpeter)
45bf215546Sopenharmony_ci- Richard Hughes <hughsient@users.sf.net> (hughsient)
46bf215546Sopenharmony_ci- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
47bf215546Sopenharmony_ci- Serge Martin
48bf215546Sopenharmony_ci- Simon Raffeiner
49bf215546Sopenharmony_ci- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
50bf215546Sopenharmony_ci- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
51bf215546Sopenharmony_ci- sturmflut <sturmflut@users.sf.net> (sturmflut)
52bf215546Sopenharmony_ci- Sylvain Munaut <tnt@246tNt.com>
53bf215546Sopenharmony_ci- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
54bf215546Sopenharmony_ci- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
55bf215546Sopenharmony_ci- Younes Manton <younes.m@gmail.com> (ymanton)
56bf215546Sopenharmony_ci
57bf215546Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining
58bf215546Sopenharmony_cia copy of this software and associated documentation files (the
59bf215546Sopenharmony_ci"Software"), to deal in the Software without restriction, including
60bf215546Sopenharmony_ciwithout limitation the rights to use, copy, modify, merge, publish,
61bf215546Sopenharmony_cidistribute, sublicense, and/or sell copies of the Software, and to
62bf215546Sopenharmony_cipermit persons to whom the Software is furnished to do so, subject to
63bf215546Sopenharmony_cithe following conditions:
64bf215546Sopenharmony_ci
65bf215546Sopenharmony_ciThe above copyright notice and this permission notice (including the
66bf215546Sopenharmony_cinext paragraph) shall be included in all copies or substantial
67bf215546Sopenharmony_ciportions of the Software.
68bf215546Sopenharmony_ci
69bf215546Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
70bf215546Sopenharmony_ciEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
71bf215546Sopenharmony_ciMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
72bf215546Sopenharmony_ciIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
73bf215546Sopenharmony_ciLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
74bf215546Sopenharmony_ciOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
75bf215546Sopenharmony_ciWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
76bf215546Sopenharmony_ci*/
77bf215546Sopenharmony_ci
78bf215546Sopenharmony_ci
79bf215546Sopenharmony_ci
80bf215546Sopenharmony_ci
81bf215546Sopenharmony_ci
82bf215546Sopenharmony_ci#define NVE4_3D_UNK0144					0x00000144
83bf215546Sopenharmony_ci
84bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD						0x00000000
85bf215546Sopenharmony_ci
86bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_LINE_LENGTH_IN				0x00000180
87bf215546Sopenharmony_ci
88bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_LINE_COUNT				0x00000184
89bf215546Sopenharmony_ci
90bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_ADDRESS_HIGH			0x00000188
91bf215546Sopenharmony_ci
92bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_ADDRESS_LOW				0x0000018c
93bf215546Sopenharmony_ci
94bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_PITCH				0x00000190
95bf215546Sopenharmony_ci
96bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_TILE_MODE				0x00000194
97bf215546Sopenharmony_ci
98bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_WIDTH				0x00000198
99bf215546Sopenharmony_ci
100bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_HEIGHT				0x0000019c
101bf215546Sopenharmony_ci
102bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_DEPTH				0x000001a0
103bf215546Sopenharmony_ci
104bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_Z					0x000001a4
105bf215546Sopenharmony_ci
106bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_X					0x000001a8
107bf215546Sopenharmony_ci
108bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DST_Y					0x000001ac
109bf215546Sopenharmony_ci
110bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_EXEC					0x000001b0
111bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_EXEC_LINEAR				0x00000001
112bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_EXEC_UNK1__MASK				0x0000007e
113bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_EXEC_UNK1__SHIFT			1
114bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_EXEC_BUF_NOTIFY				0x00000300
115bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_EXEC_UNK12__MASK			0x0000f000
116bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_EXEC_UNK12__SHIFT			12
117bf215546Sopenharmony_ci
118bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_DATA					0x000001b4
119bf215546Sopenharmony_ci
120bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_QUERY_ADDRESS_HIGH			0x000001dc
121bf215546Sopenharmony_ci
122bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_QUERY_ADDRESS_LOW			0x000001e0
123bf215546Sopenharmony_ci
124bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_QUERY_SEQUENCE				0x000001e4
125bf215546Sopenharmony_ci
126bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_UNK01F0					0x000001f0
127bf215546Sopenharmony_ci
128bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_UNK01F4					0x000001f4
129bf215546Sopenharmony_ci
130bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_UNK01F8					0x000001f8
131bf215546Sopenharmony_ci
132bf215546Sopenharmony_ci#define NVE4_3D_UPLOAD_UNK01FC					0x000001fc
133bf215546Sopenharmony_ci
134bf215546Sopenharmony_ci#define NVC0_3D_UNK200						0x00000200
135bf215546Sopenharmony_ci
136bf215546Sopenharmony_ci#define NVC0_3D_UNK204						0x00000204
137bf215546Sopenharmony_ci
138bf215546Sopenharmony_ci#define NVC0_3D_UNK208						0x00000208
139bf215546Sopenharmony_ci
140bf215546Sopenharmony_ci#define NVC0_3D_LINE_WIDTH_SEPARATE				0x0000020c
141bf215546Sopenharmony_ci
142bf215546Sopenharmony_ci#define NVC0_3D_FORCE_EARLY_FRAGMENT_TESTS			0x00000210
143bf215546Sopenharmony_ci
144bf215546Sopenharmony_ci#define NVC0_3D_UNK214						0x00000214
145bf215546Sopenharmony_ci
146bf215546Sopenharmony_ci#define NVC0_3D_UNK218						0x00000218
147bf215546Sopenharmony_ci
148bf215546Sopenharmony_ci#define NVC0_3D_MEM_BARRIER					0x0000021c
149bf215546Sopenharmony_ci#define NVC0_3D_MEM_BARRIER_UNK0				0x00000001
150bf215546Sopenharmony_ci#define NVC0_3D_MEM_BARRIER_UNK1				0x00000002
151bf215546Sopenharmony_ci#define NVC0_3D_MEM_BARRIER_UNK2				0x00000004
152bf215546Sopenharmony_ci#define NVC0_3D_MEM_BARRIER_UNK4				0x00000010
153bf215546Sopenharmony_ci#define NVC0_3D_MEM_BARRIER_UNK8				0x00000100
154bf215546Sopenharmony_ci#define NVC0_3D_MEM_BARRIER_UNK12				0x00001000
155bf215546Sopenharmony_ci
156bf215546Sopenharmony_ci#define NVC0_3D_UNK0220(i0)				       (0x00000220 + 0x4*(i0))
157bf215546Sopenharmony_ci#define NVC0_3D_UNK0220__ESIZE					0x00000004
158bf215546Sopenharmony_ci#define NVC0_3D_UNK0220__LEN					0x00000028
159bf215546Sopenharmony_ci
160bf215546Sopenharmony_ci#define TU102_3D_INDEX_ARRAY_LIMIT_HIGH				0x00000238
161bf215546Sopenharmony_ci
162bf215546Sopenharmony_ci#define TU102_3D_INDEX_ARRAY_LIMIT_LOW				0x0000023c
163bf215546Sopenharmony_ci
164bf215546Sopenharmony_ci#define TU102_3D_SET_COLOR_RENDER_TO_ZETA_SURFACE		0x000002b8
165bf215546Sopenharmony_ci
166bf215546Sopenharmony_ci#define NVC0_3D_UNK02C0					0x000002c0
167bf215546Sopenharmony_ci
168bf215546Sopenharmony_ci#define NVC0_3D_UNK02C4					0x000002c4
169bf215546Sopenharmony_ci
170bf215546Sopenharmony_ci#define NVC0_3D_GLOBAL_BASE					0x000002c8
171bf215546Sopenharmony_ci#define NVC0_3D_GLOBAL_BASE_HIGH__MASK				0x000000ff
172bf215546Sopenharmony_ci#define NVC0_3D_GLOBAL_BASE_HIGH__SHIFT			0
173bf215546Sopenharmony_ci#define NVC0_3D_GLOBAL_BASE_INDEX__MASK			0x00ff0000
174bf215546Sopenharmony_ci#define NVC0_3D_GLOBAL_BASE_INDEX__SHIFT			16
175bf215546Sopenharmony_ci#define NVC0_3D_GLOBAL_BASE_READ_OK				0x40000000
176bf215546Sopenharmony_ci#define NVC0_3D_GLOBAL_BASE_WRITE_OK				0x80000000
177bf215546Sopenharmony_ci
178bf215546Sopenharmony_ci#define NVC0_3D_UNK02CC					0x000002cc
179bf215546Sopenharmony_ci
180bf215546Sopenharmony_ci#define NVC0_3D_UNK02D0					0x000002d0
181bf215546Sopenharmony_ci
182bf215546Sopenharmony_ci#define NVC0_3D_UNK02D4					0x000002d4
183bf215546Sopenharmony_ci
184bf215546Sopenharmony_ci#define NVC0_3D_UNK02D8					0x000002d8
185bf215546Sopenharmony_ci
186bf215546Sopenharmony_ci#define NVC8_3D_UNK02E0					0x000002e0
187bf215546Sopenharmony_ci
188bf215546Sopenharmony_ci#define NVC1_3D_UNK02E4					0x000002e4
189bf215546Sopenharmony_ci#define NVC1_3D_UNK02E4_UNK0					0x00000001
190bf215546Sopenharmony_ci#define NVC1_3D_UNK02E4_UNK4					0x00000010
191bf215546Sopenharmony_ci#define NVC1_3D_UNK02E4_UNK8					0x00000100
192bf215546Sopenharmony_ci#define NVC1_3D_UNK02E4_UNK12__MASK				0x0000f000
193bf215546Sopenharmony_ci#define NVC1_3D_UNK02E4_UNK12__SHIFT				12
194bf215546Sopenharmony_ci
195bf215546Sopenharmony_ci#define NVC8_3D_UNK02E8					0x000002e8
196bf215546Sopenharmony_ci
197bf215546Sopenharmony_ci#define NVC0_3D_UNK02EC					0x000002ec
198bf215546Sopenharmony_ci#define NVC0_3D_UNK02EC_UNK0					0x00000001
199bf215546Sopenharmony_ci#define NVC0_3D_UNK02EC_UNK4__MASK				0x00000ff0
200bf215546Sopenharmony_ci#define NVC0_3D_UNK02EC_UNK4__SHIFT				4
201bf215546Sopenharmony_ci
202bf215546Sopenharmony_ci#define NVC8_3D_UNK02F8					0x000002f8
203bf215546Sopenharmony_ci
204bf215546Sopenharmony_ci#define NVC8_3D_UNK02FC					0x000002fc
205bf215546Sopenharmony_ci
206bf215546Sopenharmony_ci#define NVC0_3D_UNK0300					0x00000300
207bf215546Sopenharmony_ci
208bf215546Sopenharmony_ci#define NVC0_3D_UNK0304					0x00000304
209bf215546Sopenharmony_ci
210bf215546Sopenharmony_ci#define NVC0_3D_CACHE_SPLIT					0x00000308
211bf215546Sopenharmony_ci#define NVC1_3D_CACHE_SPLIT_16K_SHARED_48K_L1			0x00000001
212bf215546Sopenharmony_ci#define NVE4_3D_CACHE_SPLIT_32K_SHARED_32K_L1			0x00000002
213bf215546Sopenharmony_ci#define NVC0_3D_CACHE_SPLIT_48K_SHARED_16K_L1			0x00000003
214bf215546Sopenharmony_ci
215bf215546Sopenharmony_ci#define NVC0_3D_UNK030C					0x0000030c
216bf215546Sopenharmony_ci
217bf215546Sopenharmony_ci#define NVC0_3D_UNK0310					0x00000310
218bf215546Sopenharmony_ci
219bf215546Sopenharmony_ci#define NVE4_3D_UNK0310					0x00000310
220bf215546Sopenharmony_ci
221bf215546Sopenharmony_ci#define NVC0_3D_UNK0314					0x00000314
222bf215546Sopenharmony_ci
223bf215546Sopenharmony_ci#define NVC0_3D_UNK0318					0x00000318
224bf215546Sopenharmony_ci
225bf215546Sopenharmony_ci#define NVC0_3D_UNK031C					0x0000031c
226bf215546Sopenharmony_ci
227bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE					0x00000320
228bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_PRIM__MASK				0x00000003
229bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_PRIM__SHIFT				0
230bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_PRIM_ISOLINES			0x00000000
231bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_PRIM_TRIANGLES			0x00000001
232bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_PRIM_QUADS				0x00000002
233bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_SPACING__MASK			0x00000030
234bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_SPACING__SHIFT			4
235bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_SPACING_EQUAL			0x00000000
236bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_ODD		0x00000010
237bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_EVEN		0x00000020
238bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_CW					0x00000100
239bf215546Sopenharmony_ci#define NVC0_3D_TESS_MODE_CONNECTED				0x00000200
240bf215546Sopenharmony_ci
241bf215546Sopenharmony_ci#define NVC0_3D_TESS_LEVEL_OUTER(i0)			       (0x00000324 + 0x4*(i0))
242bf215546Sopenharmony_ci#define NVC0_3D_TESS_LEVEL_OUTER__ESIZE			0x00000004
243bf215546Sopenharmony_ci#define NVC0_3D_TESS_LEVEL_OUTER__LEN				0x00000004
244bf215546Sopenharmony_ci
245bf215546Sopenharmony_ci#define NVC0_3D_TESS_LEVEL_INNER(i0)			       (0x00000334 + 0x4*(i0))
246bf215546Sopenharmony_ci#define NVC0_3D_TESS_LEVEL_INNER__ESIZE			0x00000004
247bf215546Sopenharmony_ci#define NVC0_3D_TESS_LEVEL_INNER__LEN				0x00000002
248bf215546Sopenharmony_ci
249bf215546Sopenharmony_ci#define NVC0_3D_UNK033C(i0)				       (0x0000033c + 0x4*(i0))
250bf215546Sopenharmony_ci#define NVC0_3D_UNK033C__ESIZE					0x00000004
251bf215546Sopenharmony_ci#define NVC0_3D_UNK033C__LEN					0x00000009
252bf215546Sopenharmony_ci
253bf215546Sopenharmony_ci#define NVC0_3D_UNK0360					0x00000360
254bf215546Sopenharmony_ci
255bf215546Sopenharmony_ci#define NVC0_3D_UNK0364					0x00000364
256bf215546Sopenharmony_ci
257bf215546Sopenharmony_ci#define NVC0_3D_UNK0368					0x00000368
258bf215546Sopenharmony_ci
259bf215546Sopenharmony_ci#define NVC8_3D_UNK036C					0x0000036c
260bf215546Sopenharmony_ci
261bf215546Sopenharmony_ci#define NVC8_3D_UNK0370					0x00000370
262bf215546Sopenharmony_ci
263bf215546Sopenharmony_ci#define NVC8_3D_UNK0374					0x00000374
264bf215546Sopenharmony_ci
265bf215546Sopenharmony_ci#define NVC8_3D_UNK0378					0x00000378
266bf215546Sopenharmony_ci
267bf215546Sopenharmony_ci#define NVC0_3D_RASTERIZE_ENABLE				0x0000037c
268bf215546Sopenharmony_ci
269bf215546Sopenharmony_ci#define NVC0_3D_TFB(i0)				       (0x00000380 + 0x20*(i0))
270bf215546Sopenharmony_ci#define NVC0_3D_TFB__ESIZE					0x00000020
271bf215546Sopenharmony_ci#define NVC0_3D_TFB__LEN					0x00000004
272bf215546Sopenharmony_ci
273bf215546Sopenharmony_ci#define NVC0_3D_TFB_BUFFER_ENABLE(i0)			       (0x00000380 + 0x20*(i0))
274bf215546Sopenharmony_ci
275bf215546Sopenharmony_ci#define NVC0_3D_TFB_ADDRESS_HIGH(i0)			       (0x00000384 + 0x20*(i0))
276bf215546Sopenharmony_ci
277bf215546Sopenharmony_ci#define NVC0_3D_TFB_ADDRESS_LOW(i0)			       (0x00000388 + 0x20*(i0))
278bf215546Sopenharmony_ci
279bf215546Sopenharmony_ci#define NVC0_3D_TFB_BUFFER_SIZE(i0)			       (0x0000038c + 0x20*(i0))
280bf215546Sopenharmony_ci
281bf215546Sopenharmony_ci#define NVC0_3D_TFB_BUFFER_OFFSET(i0)			       (0x00000390 + 0x20*(i0))
282bf215546Sopenharmony_ci
283bf215546Sopenharmony_ci#define NVC0_3D_UNK0400(i0)				       (0x00000400 + 0x4*(i0))
284bf215546Sopenharmony_ci#define NVC0_3D_UNK0400__ESIZE					0x00000004
285bf215546Sopenharmony_ci#define NVC0_3D_UNK0400__LEN					0x000000c0
286bf215546Sopenharmony_ci
287bf215546Sopenharmony_ci#define TU102_3D_VERTEX_ARRAY_LIMIT_HIGH(i0)		       (0x00000600 + 0x8*(i0))
288bf215546Sopenharmony_ci#define TU102_3D_VERTEX_ARRAY_LIMIT_LOW(i0)		       (0x00000604 + 0x8*(i0))
289bf215546Sopenharmony_ci
290bf215546Sopenharmony_ci#define NVC0_3D_TFB_STREAM(i0)				       (0x00000700 + 0x10*(i0))
291bf215546Sopenharmony_ci#define NVC0_3D_TFB_STREAM__ESIZE				0x00000010
292bf215546Sopenharmony_ci#define NVC0_3D_TFB_STREAM__LEN				0x00000004
293bf215546Sopenharmony_ci
294bf215546Sopenharmony_ci#define NVC0_3D_TFB_VARYING_COUNT(i0)			       (0x00000704 + 0x10*(i0))
295bf215546Sopenharmony_ci#define NVC0_3D_TFB_VARYING_COUNT__ESIZE			0x00000010
296bf215546Sopenharmony_ci#define NVC0_3D_TFB_VARYING_COUNT__LEN				0x00000004
297bf215546Sopenharmony_ci
298bf215546Sopenharmony_ci#define NVC0_3D_TFB_BUFFER_STRIDE(i0)			       (0x00000708 + 0x10*(i0))
299bf215546Sopenharmony_ci#define NVC0_3D_TFB_BUFFER_STRIDE__ESIZE			0x00000010
300bf215546Sopenharmony_ci#define NVC0_3D_TFB_BUFFER_STRIDE__LEN				0x00000004
301bf215546Sopenharmony_ci
302bf215546Sopenharmony_ci#define NVC0_3D_UNK0740					0x00000740
303bf215546Sopenharmony_ci
304bf215546Sopenharmony_ci#define NVC0_3D_TFB_ENABLE					0x00000744
305bf215546Sopenharmony_ci
306bf215546Sopenharmony_ci#define NVC0_3D_UNK0748					0x00000748
307bf215546Sopenharmony_ci
308bf215546Sopenharmony_ci#define NVC0_3D_UNK074C					0x0000074c
309bf215546Sopenharmony_ci
310bf215546Sopenharmony_ci#define NVC0_3D_UNK0750					0x00000750
311bf215546Sopenharmony_ci
312bf215546Sopenharmony_ci#define NVC0_3D_SAMPLE_SHADING					0x00000754
313bf215546Sopenharmony_ci#define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__MASK		0x0000000f
314bf215546Sopenharmony_ci#define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__SHIFT		0
315bf215546Sopenharmony_ci#define NVC0_3D_SAMPLE_SHADING_ENABLE				0x00000010
316bf215546Sopenharmony_ci
317bf215546Sopenharmony_ci#define NVC0_3D_UNK075C					0x0000075c
318bf215546Sopenharmony_ci
319bf215546Sopenharmony_ci#define NVC0_3D_UNK0760(i0)				       (0x00000760 + 0x4*(i0))
320bf215546Sopenharmony_ci#define NVC0_3D_UNK0760__ESIZE					0x00000004
321bf215546Sopenharmony_ci#define NVC0_3D_UNK0760__LEN					0x00000004
322bf215546Sopenharmony_ci
323bf215546Sopenharmony_ci#define NVC0_3D_UNK0770(i0)				       (0x00000770 + 0x4*(i0))
324bf215546Sopenharmony_ci#define NVC0_3D_UNK0770__ESIZE					0x00000004
325bf215546Sopenharmony_ci#define NVC0_3D_UNK0770__LEN					0x00000003
326bf215546Sopenharmony_ci#define NVC0_3D_UNK0770_UNK4__MASK				0x000000f0
327bf215546Sopenharmony_ci#define NVC0_3D_UNK0770_UNK4__SHIFT				4
328bf215546Sopenharmony_ci#define NVC0_3D_UNK0770_UNK12__MASK				0x0000f000
329bf215546Sopenharmony_ci#define NVC0_3D_UNK0770_UNK12__SHIFT				12
330bf215546Sopenharmony_ci#define NVC0_3D_UNK0770_UNK20__MASK				0x00f00000
331bf215546Sopenharmony_ci#define NVC0_3D_UNK0770_UNK20__SHIFT				20
332bf215546Sopenharmony_ci#define NVC0_3D_UNK0770_UNK28__MASK				0xf0000000
333bf215546Sopenharmony_ci#define NVC0_3D_UNK0770_UNK28__SHIFT				28
334bf215546Sopenharmony_ci
335bf215546Sopenharmony_ci#define NVC0_3D_LOCAL_BASE					0x0000077c
336bf215546Sopenharmony_ci
337bf215546Sopenharmony_ci#define NVC0_3D_UNK0780(i0)				       (0x00000780 + 0x4*(i0))
338bf215546Sopenharmony_ci#define NVC0_3D_UNK0780__ESIZE					0x00000004
339bf215546Sopenharmony_ci#define NVC0_3D_UNK0780__LEN					0x00000004
340bf215546Sopenharmony_ci
341bf215546Sopenharmony_ci#define NVC0_3D_TEMP_ADDRESS_HIGH				0x00000790
342bf215546Sopenharmony_ci
343bf215546Sopenharmony_ci#define NVC0_3D_TEMP_ADDRESS_LOW				0x00000794
344bf215546Sopenharmony_ci
345bf215546Sopenharmony_ci#define NVC0_3D_TEMP_SIZE_HIGH					0x00000798
346bf215546Sopenharmony_ci
347bf215546Sopenharmony_ci#define NVC0_3D_TEMP_SIZE_LOW					0x0000079c
348bf215546Sopenharmony_ci
349bf215546Sopenharmony_ci#define NVC0_3D_WARP_TEMP_ALLOC				0x000007a0
350bf215546Sopenharmony_ci
351bf215546Sopenharmony_ci#define NVC8_3D_UNK07A4(i0)				       (0x000007a4 + 0x4*(i0))
352bf215546Sopenharmony_ci#define NVC8_3D_UNK07A4__ESIZE					0x00000004
353bf215546Sopenharmony_ci#define NVC8_3D_UNK07A4__LEN					0x00000002
354bf215546Sopenharmony_ci
355bf215546Sopenharmony_ci#define NVE4_3D_UNK07AC					0x000007ac
356bf215546Sopenharmony_ci
357bf215546Sopenharmony_ci#define NVC0_3D_UNK07B0(i0)				       (0x000007b0 + 0x4*(i0))
358bf215546Sopenharmony_ci#define NVC0_3D_UNK07B0__ESIZE					0x00000004
359bf215546Sopenharmony_ci#define NVC0_3D_UNK07B0__LEN					0x00000004
360bf215546Sopenharmony_ci
361bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_WIDTH					0x000007c0
362bf215546Sopenharmony_ci
363bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_HEIGHT					0x000007c4
364bf215546Sopenharmony_ci
365bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK07C8					0x000007c8
366bf215546Sopenharmony_ci
367bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK07CC					0x000007cc
368bf215546Sopenharmony_ci
369bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0(i0)				       (0x000007d0 + 0x4*(i0))
370bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0__ESIZE					0x00000004
371bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0__LEN					0x00000003
372bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0_UNK4__MASK				0x000000f0
373bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0_UNK4__SHIFT				4
374bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0_UNK12__MASK				0x0000f000
375bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0_UNK12__SHIFT				12
376bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0_UNK20__MASK				0x00f00000
377bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0_UNK20__SHIFT				20
378bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0_UNK28__MASK				0xf0000000
379bf215546Sopenharmony_ci#define NVC0_3D_UNK07D0_UNK28__SHIFT				28
380bf215546Sopenharmony_ci
381bf215546Sopenharmony_ci#define NVC0_3D_UNK07DC					0x000007dc
382bf215546Sopenharmony_ci
383bf215546Sopenharmony_ci#define NVC0_3D_UNK07E0					0x000007e0
384bf215546Sopenharmony_ci
385bf215546Sopenharmony_ci#define NVC0_3D_UNK07E4					0x000007e4
386bf215546Sopenharmony_ci
387bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_ADDRESS_HIGH				0x000007e8
388bf215546Sopenharmony_ci
389bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_ADDRESS_LOW				0x000007ec
390bf215546Sopenharmony_ci
391bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_LIMIT_HIGH				0x000007f0
392bf215546Sopenharmony_ci
393bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_LIMIT_LOW				0x000007f4
394bf215546Sopenharmony_ci
395bf215546Sopenharmony_ci#define NVC0_3D_UNK07F8					0x000007f8
396bf215546Sopenharmony_ci#define NVC0_3D_UNK07F8_UNK0					0x00000001
397bf215546Sopenharmony_ci#define NVC0_3D_UNK07F8_UNK1					0x00000010
398bf215546Sopenharmony_ci
399bf215546Sopenharmony_ci#define NVE4_3D_UNK07FC					0x000007fc
400bf215546Sopenharmony_ci
401bf215546Sopenharmony_ci#define NVC0_3D_RT(i0)					       (0x00000800 + 0x40*(i0))
402bf215546Sopenharmony_ci#define NVC0_3D_RT__ESIZE					0x00000040
403bf215546Sopenharmony_ci#define NVC0_3D_RT__LEN					0x00000008
404bf215546Sopenharmony_ci
405bf215546Sopenharmony_ci#define NVC0_3D_RT_ADDRESS_HIGH(i0)			       (0x00000800 + 0x40*(i0))
406bf215546Sopenharmony_ci
407bf215546Sopenharmony_ci#define NVC0_3D_RT_ADDRESS_LOW(i0)			       (0x00000804 + 0x40*(i0))
408bf215546Sopenharmony_ci
409bf215546Sopenharmony_ci#define NVC0_3D_RT_HORIZ(i0)				       (0x00000808 + 0x40*(i0))
410bf215546Sopenharmony_ci
411bf215546Sopenharmony_ci#define NVC0_3D_RT_VERT(i0)				       (0x0000080c + 0x40*(i0))
412bf215546Sopenharmony_ci
413bf215546Sopenharmony_ci#define NVC0_3D_RT_FORMAT(i0)				       (0x00000810 + 0x40*(i0))
414bf215546Sopenharmony_ci
415bf215546Sopenharmony_ci#define NVC0_3D_RT_TILE_MODE(i0)			       (0x00000814 + 0x40*(i0))
416bf215546Sopenharmony_ci#define NVC0_3D_RT_TILE_MODE_X					0x00000001
417bf215546Sopenharmony_ci#define NVC0_3D_RT_TILE_MODE_Y__MASK				0x00000070
418bf215546Sopenharmony_ci#define NVC0_3D_RT_TILE_MODE_Y__SHIFT				4
419bf215546Sopenharmony_ci#define NVC0_3D_RT_TILE_MODE_Z__MASK				0x00000700
420bf215546Sopenharmony_ci#define NVC0_3D_RT_TILE_MODE_Z__SHIFT				8
421bf215546Sopenharmony_ci#define NVC0_3D_RT_TILE_MODE_LINEAR				0x00001000
422bf215546Sopenharmony_ci#define NVC0_3D_RT_TILE_MODE_UNK16				0x00010000
423bf215546Sopenharmony_ci
424bf215546Sopenharmony_ci#define NVC0_3D_RT_ARRAY_MODE(i0)			       (0x00000818 + 0x40*(i0))
425bf215546Sopenharmony_ci#define NVC0_3D_RT_ARRAY_MODE_LAYERS__MASK			0x0000ffff
426bf215546Sopenharmony_ci#define NVC0_3D_RT_ARRAY_MODE_LAYERS__SHIFT			0
427bf215546Sopenharmony_ci#define NVC0_3D_RT_ARRAY_MODE_VOLUME				0x00010000
428bf215546Sopenharmony_ci
429bf215546Sopenharmony_ci#define NVC0_3D_RT_LAYER_STRIDE(i0)			       (0x0000081c + 0x40*(i0))
430bf215546Sopenharmony_ci
431bf215546Sopenharmony_ci#define NVC0_3D_RT_BASE_LAYER(i0)			       (0x00000820 + 0x40*(i0))
432bf215546Sopenharmony_ci
433bf215546Sopenharmony_ci#define NVC0_3D_RT_UNK14(i0)				       (0x00000824 + 0x40*(i0))
434bf215546Sopenharmony_ci
435bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_X(i0)			       (0x00000a00 + 0x20*(i0))
436bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_X__ESIZE			0x00000020
437bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_X__LEN				0x00000010
438bf215546Sopenharmony_ci
439bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_Y(i0)			       (0x00000a04 + 0x20*(i0))
440bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_Y__ESIZE			0x00000020
441bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_Y__LEN				0x00000010
442bf215546Sopenharmony_ci
443bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_Z(i0)			       (0x00000a08 + 0x20*(i0))
444bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_Z__ESIZE			0x00000020
445bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SCALE_Z__LEN				0x00000010
446bf215546Sopenharmony_ci
447bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_X(i0)		       (0x00000a0c + 0x20*(i0))
448bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_X__ESIZE			0x00000020
449bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_X__LEN			0x00000010
450bf215546Sopenharmony_ci
451bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_Y(i0)		       (0x00000a10 + 0x20*(i0))
452bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_Y__ESIZE			0x00000020
453bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_Y__LEN			0x00000010
454bf215546Sopenharmony_ci
455bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_Z(i0)		       (0x00000a14 + 0x20*(i0))
456bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_Z__ESIZE			0x00000020
457bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSLATE_Z__LEN			0x00000010
458bf215546Sopenharmony_ci
459bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SWIZZLE(i0)			       (0x00000a18 + 0x20*(i0))
460bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SWIZZLE__ESIZE				0x00000020
461bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_SWIZZLE__LEN				0x00000010
462bf215546Sopenharmony_ci
463bf215546Sopenharmony_ci#define NVC0_3D_SUBPIXEL_PRECISION(i0)			       (0x00000a1c + 0x20*(i0))
464bf215546Sopenharmony_ci#define NVC0_3D_SUBPIXEL_PRECISION__ESIZE			0x00000020
465bf215546Sopenharmony_ci#define NVC0_3D_SUBPIXEL_PRECISION__LEN				0x00000010
466bf215546Sopenharmony_ci
467bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_HORIZ(i0)			       (0x00000c00 + 0x10*(i0))
468bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_HORIZ__ESIZE				0x00000010
469bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_HORIZ__LEN				0x00000010
470bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_HORIZ_X__MASK				0x0000ffff
471bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_HORIZ_X__SHIFT			0
472bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_HORIZ_W__MASK				0xffff0000
473bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_HORIZ_W__SHIFT			16
474bf215546Sopenharmony_ci
475bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_VERT(i0)			       (0x00000c04 + 0x10*(i0))
476bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_VERT__ESIZE				0x00000010
477bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_VERT__LEN				0x00000010
478bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_VERT_Y__MASK				0x0000ffff
479bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_VERT_Y__SHIFT				0
480bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_VERT_H__MASK				0xffff0000
481bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_VERT_H__SHIFT				16
482bf215546Sopenharmony_ci
483bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_RANGE_NEAR(i0)			       (0x00000c08 + 0x10*(i0))
484bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_RANGE_NEAR__ESIZE			0x00000010
485bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_RANGE_NEAR__LEN				0x00000010
486bf215546Sopenharmony_ci
487bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_RANGE_FAR(i0)			       (0x00000c0c + 0x10*(i0))
488bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_RANGE_FAR__ESIZE				0x00000010
489bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_RANGE_FAR__LEN				0x00000010
490bf215546Sopenharmony_ci
491bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_HORIZ(i0)			       (0x00000d00 + 0x8*(i0))
492bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_HORIZ__ESIZE				0x00000008
493bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_HORIZ__LEN				0x00000008
494bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_HORIZ_MIN__MASK			0x0000ffff
495bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_HORIZ_MIN__SHIFT			0
496bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_HORIZ_MAX__MASK			0xffff0000
497bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_HORIZ_MAX__SHIFT			16
498bf215546Sopenharmony_ci
499bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_VERT(i0)			       (0x00000d04 + 0x8*(i0))
500bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_VERT__ESIZE				0x00000008
501bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_VERT__LEN				0x00000008
502bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_VERT_MIN__MASK			0x0000ffff
503bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_VERT_MIN__SHIFT			0
504bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_VERT_MAX__MASK			0xffff0000
505bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECT_VERT_MAX__SHIFT			16
506bf215546Sopenharmony_ci
507bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_HORIZ(i0)		       (0x00000d40 + 0x8*(i0))
508bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_HORIZ__ESIZE			0x00000008
509bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_HORIZ__LEN			0x00000004
510bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_HORIZ_X__MASK			0x0000ffff
511bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_HORIZ_X__SHIFT			0
512bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_HORIZ_W__MASK			0xffff0000
513bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_HORIZ_W__SHIFT			16
514bf215546Sopenharmony_ci
515bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_VERT(i0)			       (0x00000d44 + 0x8*(i0))
516bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_VERT__ESIZE			0x00000008
517bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_VERT__LEN			0x00000004
518bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_VERT_Y__MASK			0x0000ffff
519bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_VERT_Y__SHIFT			0
520bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_VERT_H__MASK			0xffff0000
521bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_REGION_VERT_H__SHIFT			16
522bf215546Sopenharmony_ci
523bf215546Sopenharmony_ci#define NVC0_3D_UNK0D60					0x00000d60
524bf215546Sopenharmony_ci
525bf215546Sopenharmony_ci#define NVC0_3D_CALL_LIMIT_LOG					0x00000d64
526bf215546Sopenharmony_ci
527bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE					0x00000d68
528bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK00				0x00000001
529bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK01				0x00000002
530bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK02				0x00000004
531bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK03				0x00000008
532bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK04				0x00000010
533bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_EMITTED_PRIMITIVES		0x00000020
534bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK06				0x00000040
535bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK07				0x00000080
536bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK08				0x00000100
537bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK09				0x00000200
538bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_GENERATED_PRIMITIVES		0x00000400
539bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK0B				0x00000800
540bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK0C				0x00001000
541bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK0D				0x00002000
542bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK0E				0x00004000
543bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_ENABLE_UNK0F				0x00008000
544bf215546Sopenharmony_ci
545bf215546Sopenharmony_ci#define NVC0_3D_UNK0D6C(i0)				       (0x00000d6c + 0x4*(i0))
546bf215546Sopenharmony_ci#define NVC0_3D_UNK0D6C__ESIZE					0x00000004
547bf215546Sopenharmony_ci#define NVC0_3D_UNK0D6C__LEN					0x00000002
548bf215546Sopenharmony_ci#define NVC0_3D_UNK0D6C_X__MASK				0x0000ffff
549bf215546Sopenharmony_ci#define NVC0_3D_UNK0D6C_X__SHIFT				0
550bf215546Sopenharmony_ci#define NVC0_3D_UNK0D6C_Y__MASK				0xffff0000
551bf215546Sopenharmony_ci#define NVC0_3D_UNK0D6C_Y__SHIFT				16
552bf215546Sopenharmony_ci
553bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BUFFER_FIRST				0x00000d74
554bf215546Sopenharmony_ci
555bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BUFFER_COUNT				0x00000d78
556bf215546Sopenharmony_ci
557bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_CLIP_NEGATIVE_Z				0x00000d7c
558bf215546Sopenharmony_ci
559bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_COLOR(i0)			       (0x00000d80 + 0x4*(i0))
560bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_COLOR__ESIZE				0x00000004
561bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_COLOR__LEN				0x00000004
562bf215546Sopenharmony_ci
563bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_DEPTH					0x00000d90
564bf215546Sopenharmony_ci
565bf215546Sopenharmony_ci#define NVC0_3D_UNK0D94					0x00000d94
566bf215546Sopenharmony_ci
567bf215546Sopenharmony_ci#define NVE4_3D_UNK0D98					0x00000d98
568bf215546Sopenharmony_ci
569bf215546Sopenharmony_ci#define NVC0_3D_UNK0D9C					0x00000d9c
570bf215546Sopenharmony_ci
571bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_STENCIL					0x00000da0
572bf215546Sopenharmony_ci
573bf215546Sopenharmony_ci#define NVE4_3D_UNK0DA4					0x00000da4
574bf215546Sopenharmony_ci#define NVE4_3D_UNK0DA4_UNK0					0x00000001
575bf215546Sopenharmony_ci#define NVE4_3D_UNK0DA4_UNK4					0x00000010
576bf215546Sopenharmony_ci#define NVE4_3D_UNK0DA4_UNK12					0x00001000
577bf215546Sopenharmony_ci
578bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_MODE_FRONT				0x00000dac
579bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_MODE_FRONT_POINT			0x00001b00
580bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_MODE_FRONT_LINE			0x00001b01
581bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_MODE_FRONT_FILL			0x00001b02
582bf215546Sopenharmony_ci
583bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_MODE_BACK				0x00000db0
584bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_MODE_BACK_POINT			0x00001b00
585bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_MODE_BACK_LINE				0x00001b01
586bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_MODE_BACK_FILL				0x00001b02
587bf215546Sopenharmony_ci
588bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_SMOOTH_ENABLE				0x00000db4
589bf215546Sopenharmony_ci
590bf215546Sopenharmony_ci#define NVC0_3D_UNK0DB8					0x00000db8
591bf215546Sopenharmony_ci
592bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DBC					0x00000dbc
593bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DBC_UNK0				0x00000001
594bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DBC_UNK16__MASK			0x00030000
595bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DBC_UNK16__SHIFT			16
596bf215546Sopenharmony_ci
597bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_OFFSET_POINT_ENABLE			0x00000dc0
598bf215546Sopenharmony_ci
599bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_OFFSET_LINE_ENABLE			0x00000dc4
600bf215546Sopenharmony_ci
601bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_OFFSET_FILL_ENABLE			0x00000dc8
602bf215546Sopenharmony_ci
603bf215546Sopenharmony_ci#define NVC0_3D_PATCH_VERTICES					0x00000dcc
604bf215546Sopenharmony_ci
605bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DD8					0x00000dd8
606bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DD8_UNK0__MASK			0x00000007
607bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DD8_UNK0__SHIFT			0
608bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DD8_UNK8__MASK			0x00000300
609bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DD8_UNK8__SHIFT			8
610bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DD8_UNK16__MASK			0xffff0000
611bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK0DD8_UNK16__SHIFT			16
612bf215546Sopenharmony_ci
613bf215546Sopenharmony_ci#define NVC0_3D_UNK0DDC					0x00000ddc
614bf215546Sopenharmony_ci
615bf215546Sopenharmony_ci#define NVC0_3D_WATCHDOG_TIMER					0x00000de4
616bf215546Sopenharmony_ci
617bf215546Sopenharmony_ci#define NVC0_3D_PRIM_RESTART_WITH_DRAW_ARRAYS			0x00000de8
618bf215546Sopenharmony_ci
619bf215546Sopenharmony_ci#define NVC0_3D_UNK0DEC					0x00000dec
620bf215546Sopenharmony_ci
621bf215546Sopenharmony_ci#define NVC0_3D_UNK0DF4					0x00000df4
622bf215546Sopenharmony_ci
623bf215546Sopenharmony_ci#define NVC0_3D_WINDOW_OFFSET_X				0x00000df8
624bf215546Sopenharmony_ci
625bf215546Sopenharmony_ci#define NVC0_3D_WINDOW_OFFSET_Y				0x00000dfc
626bf215546Sopenharmony_ci
627bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_ENABLE(i0)			       (0x00000e00 + 0x10*(i0))
628bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_ENABLE__ESIZE				0x00000010
629bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_ENABLE__LEN				0x00000010
630bf215546Sopenharmony_ci
631bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_HORIZ(i0)			       (0x00000e04 + 0x10*(i0))
632bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_HORIZ__ESIZE				0x00000010
633bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_HORIZ__LEN				0x00000010
634bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_HORIZ_MIN__MASK			0x0000ffff
635bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_HORIZ_MIN__SHIFT			0
636bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_HORIZ_MAX__MASK			0xffff0000
637bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_HORIZ_MAX__SHIFT			16
638bf215546Sopenharmony_ci
639bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_VERT(i0)			       (0x00000e08 + 0x10*(i0))
640bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_VERT__ESIZE				0x00000010
641bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_VERT__LEN				0x00000010
642bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_VERT_MIN__MASK				0x0000ffff
643bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_VERT_MIN__SHIFT			0
644bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_VERT_MAX__MASK				0xffff0000
645bf215546Sopenharmony_ci#define NVC0_3D_SCISSOR_VERT_MAX__SHIFT			16
646bf215546Sopenharmony_ci
647bf215546Sopenharmony_ci#define NVC0_3D_UNK0F00(i0)				       (0x00000f00 + 0x4*(i0))
648bf215546Sopenharmony_ci#define NVC0_3D_UNK0F00__ESIZE					0x00000004
649bf215546Sopenharmony_ci#define NVC0_3D_UNK0F00__LEN					0x00000004
650bf215546Sopenharmony_ci
651bf215546Sopenharmony_ci#define NVC0_3D_POST_DEPTH_COVERAGE				0x00000f1c
652bf215546Sopenharmony_ci
653bf215546Sopenharmony_ci#define NVE4_3D_UNK0F20(i0)				       (0x00000f20 + 0x4*(i0))
654bf215546Sopenharmony_ci#define NVE4_3D_UNK0F20__ESIZE					0x00000004
655bf215546Sopenharmony_ci#define NVE4_3D_UNK0F20__LEN					0x00000005
656bf215546Sopenharmony_ci
657bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_REF				0x00000f54
658bf215546Sopenharmony_ci
659bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_MASK				0x00000f58
660bf215546Sopenharmony_ci
661bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_MASK				0x00000f5c
662bf215546Sopenharmony_ci
663bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_RUNOUT_ADDRESS_HIGH			0x00000f84
664bf215546Sopenharmony_ci
665bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_RUNOUT_ADDRESS_LOW			0x00000f88
666bf215546Sopenharmony_ci
667bf215546Sopenharmony_ci#define NVC0_3D_UNK0F8C					0x00000f8c
668bf215546Sopenharmony_ci
669bf215546Sopenharmony_ci#define NVC0_3D_COLOR_MASK_COMMON				0x00000f90
670bf215546Sopenharmony_ci
671bf215546Sopenharmony_ci#define NVC0_3D_UNK0F98					0x00000f98
672bf215546Sopenharmony_ci
673bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_BOUNDS(i0)			       (0x00000f9c + 0x4*(i0))
674bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_BOUNDS__ESIZE				0x00000004
675bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_BOUNDS__LEN				0x00000002
676bf215546Sopenharmony_ci
677bf215546Sopenharmony_ci#define NVC0_3D_RT_SEPARATE_FRAG_DATA				0x00000fac
678bf215546Sopenharmony_ci
679bf215546Sopenharmony_ci#define NVC0_3D_UNK0FB0					0x00000fb0
680bf215546Sopenharmony_ci
681bf215546Sopenharmony_ci#define NVC0_3D_MSAA_MASK(i0)				       (0x00000fbc + 0x4*(i0))
682bf215546Sopenharmony_ci#define NVC0_3D_MSAA_MASK__ESIZE				0x00000004
683bf215546Sopenharmony_ci#define NVC0_3D_MSAA_MASK__LEN					0x00000004
684bf215546Sopenharmony_ci
685bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_ADDRESS_HIGH				0x00000fcc
686bf215546Sopenharmony_ci
687bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_ADDRESS_LOW				0x00000fd0
688bf215546Sopenharmony_ci
689bf215546Sopenharmony_ci#define NVC0_3D_UNK0FDC					0x00000fdc
690bf215546Sopenharmony_ci
691bf215546Sopenharmony_ci#define NVC0_3D_ZETA_ADDRESS_HIGH				0x00000fe0
692bf215546Sopenharmony_ci
693bf215546Sopenharmony_ci#define NVC0_3D_ZETA_ADDRESS_LOW				0x00000fe4
694bf215546Sopenharmony_ci
695bf215546Sopenharmony_ci#define NVC0_3D_ZETA_FORMAT					0x00000fe8
696bf215546Sopenharmony_ci
697bf215546Sopenharmony_ci#define NVC0_3D_ZETA_TILE_MODE					0x00000fec
698bf215546Sopenharmony_ci
699bf215546Sopenharmony_ci#define NVC0_3D_ZETA_LAYER_STRIDE				0x00000ff0
700bf215546Sopenharmony_ci
701bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_HORIZ				0x00000ff4
702bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_HORIZ_W__MASK			0xffff0000
703bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_HORIZ_W__SHIFT			16
704bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_HORIZ_X__MASK			0x0000ffff
705bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_HORIZ_X__SHIFT			0
706bf215546Sopenharmony_ci
707bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_VERT				0x00000ff8
708bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_VERT_H__MASK			0xffff0000
709bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_VERT_H__SHIFT			16
710bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_VERT_Y__MASK			0x0000ffff
711bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_SCISSOR_VERT_Y__SHIFT			0
712bf215546Sopenharmony_ci
713bf215546Sopenharmony_ci#define NVC0_3D_UNK1000					0x00001000
714bf215546Sopenharmony_ci
715bf215546Sopenharmony_ci#define NVC0_3D_UNK1008					0x00001008
716bf215546Sopenharmony_ci
717bf215546Sopenharmony_ci#define NVC0_3D_UNK100C					0x0000100c
718bf215546Sopenharmony_ci
719bf215546Sopenharmony_ci#define NVC0_3D_UNK1010					0x00001010
720bf215546Sopenharmony_ci
721bf215546Sopenharmony_ci#define NVC0_3D_UNK1018					0x00001018
722bf215546Sopenharmony_ci
723bf215546Sopenharmony_ci#define NVC0_3D_UNK101C					0x0000101c
724bf215546Sopenharmony_ci
725bf215546Sopenharmony_ci#define NVC0_3D_UNK1020					0x00001020
726bf215546Sopenharmony_ci
727bf215546Sopenharmony_ci#define NVC0_3D_UNK1024					0x00001024
728bf215546Sopenharmony_ci
729bf215546Sopenharmony_ci#define NVC0_3D_UNK1040(i0)				       (0x00001040 + 0x4*(i0))
730bf215546Sopenharmony_ci#define NVC0_3D_UNK1040__ESIZE					0x00000004
731bf215546Sopenharmony_ci#define NVC0_3D_UNK1040__LEN					0x00000010
732bf215546Sopenharmony_ci
733bf215546Sopenharmony_ci#define NVC0_3D_UNK10CC					0x000010cc
734bf215546Sopenharmony_ci#define NVC0_3D_UNK10CC_UNK0__MASK				0x000000ff
735bf215546Sopenharmony_ci#define NVC0_3D_UNK10CC_UNK0__SHIFT				0
736bf215546Sopenharmony_ci#define NVC0_3D_UNK10CC_UNK16__MASK				0x00ff0000
737bf215546Sopenharmony_ci#define NVC0_3D_UNK10CC_UNK16__SHIFT				16
738bf215546Sopenharmony_ci
739bf215546Sopenharmony_ci#define NVC0_3D_UNK10E0					0x000010e0
740bf215546Sopenharmony_ci#define NVC0_3D_UNK10E0_UNK0__MASK				0x000000ff
741bf215546Sopenharmony_ci#define NVC0_3D_UNK10E0_UNK0__SHIFT				0
742bf215546Sopenharmony_ci#define NVC0_3D_UNK10E0_UNK16__MASK				0x00ff0000
743bf215546Sopenharmony_ci#define NVC0_3D_UNK10E0_UNK16__SHIFT				16
744bf215546Sopenharmony_ci
745bf215546Sopenharmony_ci#define NVC0_3D_UNK10E4					0x000010e4
746bf215546Sopenharmony_ci#define NVC0_3D_UNK10E4_UNK0__MASK				0x000000ff
747bf215546Sopenharmony_ci#define NVC0_3D_UNK10E4_UNK0__SHIFT				0
748bf215546Sopenharmony_ci#define NVC0_3D_UNK10E4_UNK16__MASK				0x00ff0000
749bf215546Sopenharmony_ci#define NVC0_3D_UNK10E4_UNK16__SHIFT				16
750bf215546Sopenharmony_ci
751bf215546Sopenharmony_ci#define NVC0_3D_UNK10E8					0x000010e8
752bf215546Sopenharmony_ci#define NVC0_3D_UNK10E8_UNK0__MASK				0x0000003f
753bf215546Sopenharmony_ci#define NVC0_3D_UNK10E8_UNK0__SHIFT				0
754bf215546Sopenharmony_ci#define NVC0_3D_UNK10E8_UNK16__MASK				0x003f0000
755bf215546Sopenharmony_ci#define NVC0_3D_UNK10E8_UNK16__SHIFT				16
756bf215546Sopenharmony_ci
757bf215546Sopenharmony_ci#define NVC0_3D_UNK10EC					0x000010ec
758bf215546Sopenharmony_ci#define NVC0_3D_UNK10EC_UNK0__MASK				0x000000ff
759bf215546Sopenharmony_ci#define NVC0_3D_UNK10EC_UNK0__SHIFT				0
760bf215546Sopenharmony_ci#define NVC0_3D_UNK10EC_UNK16__MASK				0x00ff0000
761bf215546Sopenharmony_ci#define NVC0_3D_UNK10EC_UNK16__SHIFT				16
762bf215546Sopenharmony_ci
763bf215546Sopenharmony_ci#define NVC0_3D_UNK10F0					0x000010f0
764bf215546Sopenharmony_ci#define NVC0_3D_UNK10F0_UNK0__MASK				0x000000ff
765bf215546Sopenharmony_ci#define NVC0_3D_UNK10F0_UNK0__SHIFT				0
766bf215546Sopenharmony_ci#define NVC0_3D_UNK10F0_UNK16__MASK				0x00ff0000
767bf215546Sopenharmony_ci#define NVC0_3D_UNK10F0_UNK16__SHIFT				16
768bf215546Sopenharmony_ci
769bf215546Sopenharmony_ci#define NVC0_3D_UNK10F4					0x000010f4
770bf215546Sopenharmony_ci#define NVC0_3D_UNK10F4_UNK0					0x00000001
771bf215546Sopenharmony_ci#define NVC0_3D_UNK10F4_UNK4					0x00000010
772bf215546Sopenharmony_ci#define NVC0_3D_UNK10F4_UNK8					0x00000100
773bf215546Sopenharmony_ci
774bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_FLAGS					0x000010f8
775bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_FLAGS_STENCIL_MASK			0x00000001
776bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_FLAGS_UNK4				0x00000010
777bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_FLAGS_SCISSOR				0x00000100
778bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_FLAGS_VIEWPORT				0x00001000
779bf215546Sopenharmony_ci
780bf215546Sopenharmony_ci#define NVC0_3D_UNK10FC					0x000010fc
781bf215546Sopenharmony_ci
782bf215546Sopenharmony_ci#define NVC0_3D_UNK110C					0x0000110c
783bf215546Sopenharmony_ci
784bf215546Sopenharmony_ci#define NVC0_3D_UNK1110					0x00001110
785bf215546Sopenharmony_ci
786bf215546Sopenharmony_ci#define NVC0_3D_WRCACHE_FLUSH					0x00001114
787bf215546Sopenharmony_ci
788bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ID_BASE					0x00001118
789bf215546Sopenharmony_ci
790bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT(i0)		       (0x00001120 + 0x4*(i0))
791bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT__ESIZE		0x00000004
792bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT__LEN			0x00000004
793bf215546Sopenharmony_ci
794bf215546Sopenharmony_ci#define NVC0_3D_FILL_RECTANGLE					0x0000113c
795bf215546Sopenharmony_ci#define NVC0_3D_FILL_RECTANGLE_ENABLE				0x00000002
796bf215546Sopenharmony_ci
797bf215546Sopenharmony_ci#define NVC0_3D_UNK1140					0x00001140
798bf215546Sopenharmony_ci
799bf215546Sopenharmony_ci#define NVC0_3D_UNK1144					0x00001144
800bf215546Sopenharmony_ci#define NVC0_3D_CONSERVATIVE_RASTER			0x00001148
801bf215546Sopenharmony_ci
802bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE				0x0000114c
803bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_ATTR__MASK			0x000000ff
804bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_ATTR__SHIFT			0
805bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_COMP__MASK			0x00000700
806bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_COMP__SHIFT			8
807bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_COMP__MIN			0x00000001
808bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_COMP__MAX			0x00000004
809bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_SIZE__MASK			0x00007000
810bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_SIZE__SHIFT			12
811bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_8				0x00001000
812bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_16			0x00002000
813bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_32			0x00004000
814bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE__MASK			0x00070000
815bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE__SHIFT			16
816bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SNORM			0x00010000
817bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_UNORM			0x00020000
818bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SINT			0x00030000
819bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_UINT			0x00040000
820bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_USCALED			0x00050000
821bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SSCALED			0x00060000
822bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_FLOAT			0x00070000
823bf215546Sopenharmony_ci
824bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DATA(i0)			       (0x00001150 + 0x4*(i0))
825bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DATA__ESIZE				0x00000004
826bf215546Sopenharmony_ci#define NVC0_3D_VTX_ATTR_DATA__LEN				0x00000004
827bf215546Sopenharmony_ci
828bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT(i0)		       (0x00001160 + 0x4*(i0))
829bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT__ESIZE			0x00000004
830bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT__LEN			0x00000020
831bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__MASK		0x0000001f
832bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__SHIFT		0
833bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_CONST			0x00000040
834bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__MASK		0x001fff80
835bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__SHIFT		7
836bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__MASK		0x07e00000
837bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__SHIFT		21
838bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32_32		0x00200000
839bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32		0x00400000
840bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16_16		0x00600000
841bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32		0x00800000
842bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16		0x00a00000
843bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8_8		0x01400000
844bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16		0x01e00000
845bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32			0x02400000
846bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8		0x02600000
847bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8			0x03000000
848bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16			0x03600000
849bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8			0x03a00000
850bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_10_10_10_2		0x06000000
851bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_11_11_10		0x06200000
852bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK		0x38000000
853bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__SHIFT		27
854bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM		0x08000000
855bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UNORM		0x10000000
856bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SINT			0x18000000
857bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UINT			0x20000000
858bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_USCALED		0x28000000
859bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED		0x30000000
860bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT		0x38000000
861bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BGRA			0x80000000
862bf215546Sopenharmony_ci
863bf215546Sopenharmony_ci#define NVC0_3D_LAYER_VIEWPORT_RELATIVE				0x000011f0
864bf215546Sopenharmony_ci
865bf215546Sopenharmony_ci#define NVC0_3D_UNK1214					0x00001214
866bf215546Sopenharmony_ci
867bf215546Sopenharmony_ci#define NVC0_3D_UNK1218					0x00001218
868bf215546Sopenharmony_ci
869bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL					0x0000121c
870bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_COUNT__MASK				0x0000000f
871bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_COUNT__SHIFT			0
872bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP0__MASK				0x00000070
873bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP0__SHIFT				4
874bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP1__MASK				0x00000380
875bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP1__SHIFT				7
876bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP2__MASK				0x00001c00
877bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP2__SHIFT				10
878bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP3__MASK				0x0000e000
879bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP3__SHIFT				13
880bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP4__MASK				0x00070000
881bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP4__SHIFT				16
882bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP5__MASK				0x00380000
883bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP5__SHIFT				19
884bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP6__MASK				0x01c00000
885bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP6__SHIFT				22
886bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP7__MASK				0x0e000000
887bf215546Sopenharmony_ci#define NVC0_3D_RT_CONTROL_MAP7__SHIFT				25
888bf215546Sopenharmony_ci
889bf215546Sopenharmony_ci#define NVC0_3D_UNK1220					0x00001220
890bf215546Sopenharmony_ci
891bf215546Sopenharmony_ci#define NVC0_3D_ZETA_HORIZ					0x00001228
892bf215546Sopenharmony_ci
893bf215546Sopenharmony_ci#define NVC0_3D_ZETA_VERT					0x0000122c
894bf215546Sopenharmony_ci
895bf215546Sopenharmony_ci#define NVC0_3D_ZETA_ARRAY_MODE				0x00001230
896bf215546Sopenharmony_ci#define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__MASK			0x0000ffff
897bf215546Sopenharmony_ci#define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__SHIFT			0
898bf215546Sopenharmony_ci#define NVC0_3D_ZETA_ARRAY_MODE_UNK				0x00010000
899bf215546Sopenharmony_ci
900bf215546Sopenharmony_ci#define NVC0_3D_LINKED_TSC					0x00001234
901bf215546Sopenharmony_ci
902bf215546Sopenharmony_ci#define NVC0_3D_DRAW_TFB_BYTES					0x0000123c
903bf215546Sopenharmony_ci
904bf215546Sopenharmony_ci#define NVC0_3D_UNK1284					0x00001284
905bf215546Sopenharmony_ci
906bf215546Sopenharmony_ci#define NVC0_3D_UNK1288_TIC_FLUSH				0x00001288
907bf215546Sopenharmony_ci
908bf215546Sopenharmony_ci#define NVC0_3D_UNK1290					0x00001290
909bf215546Sopenharmony_ci
910bf215546Sopenharmony_ci#define NVC0_3D_UNK12A4					0x000012a4
911bf215546Sopenharmony_ci
912bf215546Sopenharmony_ci#define NVC0_3D_UNK12AC					0x000012ac
913bf215546Sopenharmony_ci
914bf215546Sopenharmony_ci#define NVC0_3D_UNK12C8					0x000012c8
915bf215546Sopenharmony_ci
916bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_ENABLE				0x000012cc
917bf215546Sopenharmony_ci
918bf215546Sopenharmony_ci#define NVC0_3D_D3D_FILL_MODE					0x000012d0
919bf215546Sopenharmony_ci#define NVC0_3D_D3D_FILL_MODE_POINT				0x00000001
920bf215546Sopenharmony_ci#define NVC0_3D_D3D_FILL_MODE_WIREFRAME			0x00000002
921bf215546Sopenharmony_ci#define NVC0_3D_D3D_FILL_MODE_SOLID				0x00000003
922bf215546Sopenharmony_ci
923bf215546Sopenharmony_ci#define NVC0_3D_SHADE_MODEL					0x000012d4
924bf215546Sopenharmony_ci#define NVC0_3D_SHADE_MODEL_FLAT				0x00001d00
925bf215546Sopenharmony_ci#define NVC0_3D_SHADE_MODEL_SMOOTH				0x00001d01
926bf215546Sopenharmony_ci
927bf215546Sopenharmony_ci#define NVC0_3D_UNK12D8(i0)				       (0x000012d8 + 0x4*(i0))
928bf215546Sopenharmony_ci#define NVC0_3D_UNK12D8__ESIZE					0x00000004
929bf215546Sopenharmony_ci#define NVC0_3D_UNK12D8__LEN					0x00000002
930bf215546Sopenharmony_ci
931bf215546Sopenharmony_ci#define NVC0_3D_UNK12E0					0x000012e0
932bf215546Sopenharmony_ci
933bf215546Sopenharmony_ci#define NVC0_3D_BLEND_INDEPENDENT				0x000012e4
934bf215546Sopenharmony_ci
935bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_WRITE_ENABLE				0x000012e8
936bf215546Sopenharmony_ci
937bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_ENABLE				0x000012ec
938bf215546Sopenharmony_ci
939bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_SETUP				0x00001300
940bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK		0xc0000000
941bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__SHIFT		30
942bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK		0x3fffffff
943bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT		0
944bf215546Sopenharmony_ci
945bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8					0x00001304
946bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_I0__MASK				0x000000ff
947bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_I0__SHIFT			0
948bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_I1__MASK				0x0000ff00
949bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_I1__SHIFT			8
950bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_I2__MASK				0x00ff0000
951bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_I2__SHIFT			16
952bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_I3__MASK				0xff000000
953bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U8_I3__SHIFT			24
954bf215546Sopenharmony_ci
955bf215546Sopenharmony_ci#define NVC0_3D_D3D_CULL_MODE					0x00001308
956bf215546Sopenharmony_ci#define NVC0_3D_D3D_CULL_MODE_NONE				0x00000001
957bf215546Sopenharmony_ci#define NVC0_3D_D3D_CULL_MODE_FRONT				0x00000002
958bf215546Sopenharmony_ci#define NVC0_3D_D3D_CULL_MODE_BACK				0x00000003
959bf215546Sopenharmony_ci
960bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC				0x0000130c
961bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC_NEVER				0x00000200
962bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC_LESS				0x00000201
963bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC_EQUAL				0x00000202
964bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC_LEQUAL				0x00000203
965bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC_GREATER			0x00000204
966bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC_NOTEQUAL			0x00000205
967bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC_GEQUAL				0x00000206
968bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_TEST_FUNC_ALWAYS				0x00000207
969bf215546Sopenharmony_ci
970bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_REF					0x00001310
971bf215546Sopenharmony_ci
972bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC				0x00001314
973bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC_NEVER				0x00000200
974bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC_LESS				0x00000201
975bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC_EQUAL				0x00000202
976bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC_LEQUAL				0x00000203
977bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC_GREATER			0x00000204
978bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC_NOTEQUAL			0x00000205
979bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC_GEQUAL				0x00000206
980bf215546Sopenharmony_ci#define NVC0_3D_ALPHA_TEST_FUNC_ALWAYS				0x00000207
981bf215546Sopenharmony_ci
982bf215546Sopenharmony_ci#define NVC0_3D_DRAW_TFB_STRIDE				0x00001318
983bf215546Sopenharmony_ci#define NVC0_3D_DRAW_TFB_STRIDE__MIN				0x00000001
984bf215546Sopenharmony_ci#define NVC0_3D_DRAW_TFB_STRIDE__MAX				0x00000fff
985bf215546Sopenharmony_ci
986bf215546Sopenharmony_ci#define NVC0_3D_BLEND_COLOR(i0)			       (0x0000131c + 0x4*(i0))
987bf215546Sopenharmony_ci#define NVC0_3D_BLEND_COLOR__ESIZE				0x00000004
988bf215546Sopenharmony_ci#define NVC0_3D_BLEND_COLOR__LEN				0x00000004
989bf215546Sopenharmony_ci
990bf215546Sopenharmony_ci#define NVC0_3D_TSC_FLUSH					0x00001330
991bf215546Sopenharmony_ci#define NVC0_3D_TSC_FLUSH_SPECIFIC				0x00000001
992bf215546Sopenharmony_ci#define NVC0_3D_TSC_FLUSH_ENTRY__MASK				0x03fffff0
993bf215546Sopenharmony_ci#define NVC0_3D_TSC_FLUSH_ENTRY__SHIFT				4
994bf215546Sopenharmony_ci
995bf215546Sopenharmony_ci#define NVC0_3D_TIC_FLUSH					0x00001334
996bf215546Sopenharmony_ci#define NVC0_3D_TIC_FLUSH_SPECIFIC				0x00000001
997bf215546Sopenharmony_ci#define NVC0_3D_TIC_FLUSH_ENTRY__MASK				0x03fffff0
998bf215546Sopenharmony_ci#define NVC0_3D_TIC_FLUSH_ENTRY__SHIFT				4
999bf215546Sopenharmony_ci
1000bf215546Sopenharmony_ci#define NVC0_3D_TEX_CACHE_CTL					0x00001338
1001bf215546Sopenharmony_ci#define NVC0_3D_TEX_CACHE_CTL_UNK0__MASK			0x00000007
1002bf215546Sopenharmony_ci#define NVC0_3D_TEX_CACHE_CTL_UNK0__SHIFT			0
1003bf215546Sopenharmony_ci#define NVE4_3D_TEX_CACHE_CTL_UNK0				0x00000001
1004bf215546Sopenharmony_ci#define NVC0_3D_TEX_CACHE_CTL_ENTRY__MASK			0x03fffff0
1005bf215546Sopenharmony_ci#define NVC0_3D_TEX_CACHE_CTL_ENTRY__SHIFT			4
1006bf215546Sopenharmony_ci
1007bf215546Sopenharmony_ci#define NVC0_3D_BLEND_SEPARATE_ALPHA				0x0000133c
1008bf215546Sopenharmony_ci
1009bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_RGB				0x00001340
1010bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_RGB_FUNC_ADD			0x00008006
1011bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_RGB_MIN				0x00008007
1012bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_RGB_MAX				0x00008008
1013bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT		0x0000800a
1014bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT	0x0000800b
1015bf215546Sopenharmony_ci
1016bf215546Sopenharmony_ci#define NVC0_3D_BLEND_FUNC_SRC_RGB				0x00001344
1017bf215546Sopenharmony_ci
1018bf215546Sopenharmony_ci#define NVC0_3D_BLEND_FUNC_DST_RGB				0x00001348
1019bf215546Sopenharmony_ci
1020bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_ALPHA				0x0000134c
1021bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_ADD			0x00008006
1022bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_ALPHA_MIN			0x00008007
1023bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_ALPHA_MAX			0x00008008
1024bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT		0x0000800a
1025bf215546Sopenharmony_ci#define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT	0x0000800b
1026bf215546Sopenharmony_ci
1027bf215546Sopenharmony_ci#define NVC0_3D_BLEND_FUNC_SRC_ALPHA				0x00001350
1028bf215546Sopenharmony_ci
1029bf215546Sopenharmony_ci#define NVC0_3D_UNK1354					0x00001354
1030bf215546Sopenharmony_ci
1031bf215546Sopenharmony_ci#define NVC0_3D_BLEND_FUNC_DST_ALPHA				0x00001358
1032bf215546Sopenharmony_ci
1033bf215546Sopenharmony_ci#define NVC0_3D_BLEND_ENABLE_COMMON				0x0000135c
1034bf215546Sopenharmony_ci
1035bf215546Sopenharmony_ci#define NVC0_3D_BLEND_ENABLE(i0)			       (0x00001360 + 0x4*(i0))
1036bf215546Sopenharmony_ci#define NVC0_3D_BLEND_ENABLE__ESIZE				0x00000004
1037bf215546Sopenharmony_ci#define NVC0_3D_BLEND_ENABLE__LEN				0x00000008
1038bf215546Sopenharmony_ci
1039bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_ENABLE					0x00001380
1040bf215546Sopenharmony_ci
1041bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL				0x00001384
1042bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL_ZERO			0x00000000
1043bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INVERT			0x0000150a
1044bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL_KEEP			0x00001e00
1045bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL_REPLACE			0x00001e01
1046bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR			0x00001e02
1047bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR			0x00001e03
1048bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP		0x00008507
1049bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP		0x00008508
1050bf215546Sopenharmony_ci
1051bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL				0x00001388
1052bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_ZERO			0x00000000
1053bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INVERT			0x0000150a
1054bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_KEEP			0x00001e00
1055bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE			0x00001e01
1056bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INCR			0x00001e02
1057bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_DECR			0x00001e03
1058bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP		0x00008507
1059bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP		0x00008508
1060bf215546Sopenharmony_ci
1061bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS				0x0000138c
1062bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_ZERO			0x00000000
1063bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INVERT			0x0000150a
1064bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_KEEP			0x00001e00
1065bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_REPLACE			0x00001e01
1066bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR			0x00001e02
1067bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR			0x00001e03
1068bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP		0x00008507
1069bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP		0x00008508
1070bf215546Sopenharmony_ci
1071bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC			0x00001390
1072bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NEVER			0x00000200
1073bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LESS			0x00000201
1074bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL			0x00000202
1075bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL			0x00000203
1076bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GREATER		0x00000204
1077bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL		0x00000205
1078bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL			0x00000206
1079bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS			0x00000207
1080bf215546Sopenharmony_ci
1081bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_REF				0x00001394
1082bf215546Sopenharmony_ci
1083bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_FUNC_MASK			0x00001398
1084bf215546Sopenharmony_ci
1085bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_FRONT_MASK				0x0000139c
1086bf215546Sopenharmony_ci
1087bf215546Sopenharmony_ci#define NVC0_3D_DRAW_TFB_BASE					0x000013a4
1088bf215546Sopenharmony_ci
1089bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN				0x000013a8
1090bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN_0				0x00000001
1091bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN_1				0x00000010
1092bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN_2				0x00000100
1093bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN_3				0x00001000
1094bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN_4				0x00010000
1095bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN_5				0x00100000
1096bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN_6				0x01000000
1097bf215546Sopenharmony_ci#define NVC0_3D_FRAG_COLOR_CLAMP_EN_7				0x10000000
1098bf215546Sopenharmony_ci
1099bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_Y_CONTROL				0x000013ac
1100bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_Y_CONTROL_Y_NEGATE			0x00000001
1101bf215546Sopenharmony_ci#define NVC0_3D_SCREEN_Y_CONTROL_TRIANGLE_RAST_FLIP		0x00000010
1102bf215546Sopenharmony_ci
1103bf215546Sopenharmony_ci#define NVC0_3D_LINE_WIDTH_SMOOTH				0x000013b0
1104bf215546Sopenharmony_ci
1105bf215546Sopenharmony_ci#define NVC0_3D_LINE_WIDTH_ALIASED				0x000013b4
1106bf215546Sopenharmony_ci
1107bf215546Sopenharmony_ci#define NVC0_3D_UNK1418					0x00001418
1108bf215546Sopenharmony_ci
1109bf215546Sopenharmony_ci#define NVC0_3D_UNK1420					0x00001420
1110bf215546Sopenharmony_ci
1111bf215546Sopenharmony_ci#define NVC0_3D_UNK1424_TSC_FLUSH				0x00001424
1112bf215546Sopenharmony_ci
1113bf215546Sopenharmony_ci#define NVC0_3D_UNK1428_TIC_FLUSH				0x00001428
1114bf215546Sopenharmony_ci
1115bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_FLUSH				0x0000142c
1116bf215546Sopenharmony_ci
1117bf215546Sopenharmony_ci#define NVC0_3D_UNK1430					0x00001430
1118bf215546Sopenharmony_ci#define NVC0_3D_UNK1430_UNK0					0x00000010
1119bf215546Sopenharmony_ci#define NVC0_3D_UNK1430_UNK1					0x00000100
1120bf215546Sopenharmony_ci
1121bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_BASE				0x00001434
1122bf215546Sopenharmony_ci
1123bf215546Sopenharmony_ci#define NVC0_3D_VB_INSTANCE_BASE				0x00001438
1124bf215546Sopenharmony_ci
1125bf215546Sopenharmony_ci#define NVC0_3D_UNK143C_CLEAR_FLAGS				0x0000143c
1126bf215546Sopenharmony_ci#define NVC0_3D_UNK143C_CLEAR_FLAGS_STENCIL_MASK		0x00000001
1127bf215546Sopenharmony_ci#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT__MASK		0x00000010
1128bf215546Sopenharmony_ci#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT__SHIFT		4
1129bf215546Sopenharmony_ci#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT_SCISSOR		0x00000000
1130bf215546Sopenharmony_ci#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT_VIEWPORT	0x00000000
1131bf215546Sopenharmony_ci
1132bf215546Sopenharmony_ci#define NVC0_3D_UNK1444					0x00001444
1133bf215546Sopenharmony_ci
1134bf215546Sopenharmony_ci#define NVC0_3D_UNK1448					0x00001448
1135bf215546Sopenharmony_ci
1136bf215546Sopenharmony_ci#define NVC0_3D_UNK144C					0x0000144c
1137bf215546Sopenharmony_ci
1138bf215546Sopenharmony_ci#define NVC0_3D_UNK1450					0x00001450
1139bf215546Sopenharmony_ci
1140bf215546Sopenharmony_ci#define NVC0_3D_UNK1454					0x00001454
1141bf215546Sopenharmony_ci
1142bf215546Sopenharmony_ci#define NVC0_3D_UNK1464					0x00001464
1143bf215546Sopenharmony_ci
1144bf215546Sopenharmony_ci#define NVC0_3D_UNK1500					0x00001500
1145bf215546Sopenharmony_ci
1146bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_HEIGHT					0x00001504
1147bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_HEIGHT__MAX				0x00004000
1148bf215546Sopenharmony_ci
1149bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_HORIZ				0x00001508
1150bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK		0x0000ffff
1151bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__SHIFT		0
1152bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__MASK		0xffff0000
1153bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__SHIFT		16
1154bf215546Sopenharmony_ci
1155bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_VERT				0x0000150c
1156bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__MASK		0x0000ffff
1157bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__SHIFT		0
1158bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK		0xffff0000
1159bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__SHIFT		16
1160bf215546Sopenharmony_ci
1161bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE				0x00001510
1162bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE_0				0x00000001
1163bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE_1				0x00000002
1164bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE_2				0x00000004
1165bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE_3				0x00000008
1166bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE_4				0x00000010
1167bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE_5				0x00000020
1168bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE_6				0x00000040
1169bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_ENABLE_7				0x00000080
1170bf215546Sopenharmony_ci
1171bf215546Sopenharmony_ci#define NVC0_3D_SAMPLECNT_ENABLE				0x00001514
1172bf215546Sopenharmony_ci
1173bf215546Sopenharmony_ci#define NVC0_3D_POINT_SIZE					0x00001518
1174bf215546Sopenharmony_ci
1175bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_STATCTRS_ENABLE				0x0000151c
1176bf215546Sopenharmony_ci
1177bf215546Sopenharmony_ci#define NVC0_3D_POINT_SPRITE_ENABLE				0x00001520
1178bf215546Sopenharmony_ci
1179bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET					0x00001530
1180bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_SAMPLECNT			0x00000001
1181bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK02				0x00000002
1182bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK03				0x00000003
1183bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK04				0x00000004
1184bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_EMITTED_PRIMITIVES		0x00000010
1185bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK11				0x00000011
1186bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK12				0x00000012
1187bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK13				0x00000013
1188bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK15				0x00000015
1189bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK16				0x00000016
1190bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK17				0x00000017
1191bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK18				0x00000018
1192bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK1A				0x0000001a
1193bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK1B				0x0000001b
1194bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK1C				0x0000001c
1195bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK1D				0x0000001d
1196bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_UNK1E				0x0000001e
1197bf215546Sopenharmony_ci#define NVC0_3D_COUNTER_RESET_GENERATED_PRIMITIVES		0x0000001f
1198bf215546Sopenharmony_ci
1199bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_ENABLE				0x00001534
1200bf215546Sopenharmony_ci
1201bf215546Sopenharmony_ci#define NVC0_3D_ZETA_ENABLE					0x00001538
1202bf215546Sopenharmony_ci
1203bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_CTRL				0x0000153c
1204bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE		0x00000001
1205bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_ONE			0x00000010
1206bf215546Sopenharmony_ci
1207bf215546Sopenharmony_ci#define NVC0_3D_COND_ADDRESS_HIGH				0x00001550
1208bf215546Sopenharmony_ci
1209bf215546Sopenharmony_ci#define NVC0_3D_COND_ADDRESS_LOW				0x00001554
1210bf215546Sopenharmony_ci
1211bf215546Sopenharmony_ci#define NVC0_3D_COND_MODE					0x00001558
1212bf215546Sopenharmony_ci#define NVC0_3D_COND_MODE_NEVER				0x00000000
1213bf215546Sopenharmony_ci#define NVC0_3D_COND_MODE_ALWAYS				0x00000001
1214bf215546Sopenharmony_ci#define NVC0_3D_COND_MODE_RES_NON_ZERO				0x00000002
1215bf215546Sopenharmony_ci#define NVC0_3D_COND_MODE_EQUAL				0x00000003
1216bf215546Sopenharmony_ci#define NVC0_3D_COND_MODE_NOT_EQUAL				0x00000004
1217bf215546Sopenharmony_ci
1218bf215546Sopenharmony_ci#define NVC0_3D_TSC_ADDRESS_HIGH				0x0000155c
1219bf215546Sopenharmony_ci
1220bf215546Sopenharmony_ci#define NVC0_3D_TSC_ADDRESS_LOW				0x00001560
1221bf215546Sopenharmony_ci#define NVC0_3D_TSC_ADDRESS_LOW__ALIGN				0x00000020
1222bf215546Sopenharmony_ci
1223bf215546Sopenharmony_ci#define NVC0_3D_TSC_LIMIT					0x00001564
1224bf215546Sopenharmony_ci#define NVC0_3D_TSC_LIMIT__MAX					0x00001fff
1225bf215546Sopenharmony_ci
1226bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_OFFSET_FACTOR				0x0000156c
1227bf215546Sopenharmony_ci
1228bf215546Sopenharmony_ci#define NVC0_3D_LINE_SMOOTH_ENABLE				0x00001570
1229bf215546Sopenharmony_ci
1230bf215546Sopenharmony_ci#define NVC0_3D_TIC_ADDRESS_HIGH				0x00001574
1231bf215546Sopenharmony_ci
1232bf215546Sopenharmony_ci#define NVC0_3D_TIC_ADDRESS_LOW				0x00001578
1233bf215546Sopenharmony_ci
1234bf215546Sopenharmony_ci#define NVC0_3D_TIC_LIMIT					0x0000157c
1235bf215546Sopenharmony_ci
1236bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_REGION					0x00001590
1237bf215546Sopenharmony_ci
1238bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_TWO_SIDE_ENABLE			0x00001594
1239bf215546Sopenharmony_ci
1240bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL				0x00001598
1241bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL_ZERO			0x00000000
1242bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL_INVERT			0x0000150a
1243bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL_KEEP			0x00001e00
1244bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL_REPLACE			0x00001e01
1245bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL_INCR			0x00001e02
1246bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL_DECR			0x00001e03
1247bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP			0x00008507
1248bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP			0x00008508
1249bf215546Sopenharmony_ci
1250bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL				0x0000159c
1251bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_ZERO			0x00000000
1252bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INVERT			0x0000150a
1253bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_KEEP			0x00001e00
1254bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_REPLACE			0x00001e01
1255bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR			0x00001e02
1256bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR			0x00001e03
1257bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP		0x00008507
1258bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP		0x00008508
1259bf215546Sopenharmony_ci
1260bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS				0x000015a0
1261bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS_ZERO			0x00000000
1262bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INVERT			0x0000150a
1263bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS_KEEP			0x00001e00
1264bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS_REPLACE			0x00001e01
1265bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR			0x00001e02
1266bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR			0x00001e03
1267bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP		0x00008507
1268bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP		0x00008508
1269bf215546Sopenharmony_ci
1270bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC				0x000015a4
1271bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NEVER			0x00000200
1272bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LESS			0x00000201
1273bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_EQUAL			0x00000202
1274bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL			0x00000203
1275bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GREATER			0x00000204
1276bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL		0x00000205
1277bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL			0x00000206
1278bf215546Sopenharmony_ci#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS			0x00000207
1279bf215546Sopenharmony_ci
1280bf215546Sopenharmony_ci#define NVC0_3D_CSAA_ENABLE					0x000015b4
1281bf215546Sopenharmony_ci
1282bf215546Sopenharmony_ci#define NVC0_3D_FRAMEBUFFER_SRGB				0x000015b8
1283bf215546Sopenharmony_ci
1284bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_OFFSET_UNITS				0x000015bc
1285bf215546Sopenharmony_ci
1286bf215546Sopenharmony_ci#define NVC0_3D_UNK15C8					0x000015c8
1287bf215546Sopenharmony_ci
1288bf215546Sopenharmony_ci#define NVC0_3D_LAYER						0x000015cc
1289bf215546Sopenharmony_ci#define NVC0_3D_LAYER_IDX__MASK				0x0000ffff
1290bf215546Sopenharmony_ci#define NVC0_3D_LAYER_IDX__SHIFT				0
1291bf215546Sopenharmony_ci#define NVC0_3D_LAYER_USE_GP					0x00010000
1292bf215546Sopenharmony_ci
1293bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE				0x000015d0
1294bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS1				0x00000000
1295bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS2				0x00000001
1296bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS4				0x00000002
1297bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS8				0x00000003
1298bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS8_ALT			0x00000004
1299bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS2_ALT			0x00000005
1300bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_UNK6				0x00000006
1301bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS4_CS4			0x00000008
1302bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS4_CS12			0x00000009
1303bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS8_CS8			0x0000000a
1304bf215546Sopenharmony_ci#define NVC0_3D_MULTISAMPLE_MODE_MS8_CS24			0x0000000b
1305bf215546Sopenharmony_ci
1306bf215546Sopenharmony_ci#define NVC0_3D_EDGEFLAG					0x000015e4
1307bf215546Sopenharmony_ci
1308bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U32					0x000015e8
1309bf215546Sopenharmony_ci
1310bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_SETUP				0x000015ec
1311bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_SETUP_OFFSET__MASK		0xc0000000
1312bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_SETUP_OFFSET__SHIFT		30
1313bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__MASK		0x3fffffff
1314bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__SHIFT		0
1315bf215546Sopenharmony_ci
1316bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16					0x000015f0
1317bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_I0__MASK			0x0000ffff
1318bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_I0__SHIFT			0
1319bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_I1__MASK			0xffff0000
1320bf215546Sopenharmony_ci#define NVC0_3D_VB_ELEMENT_U16_I1__SHIFT			16
1321bf215546Sopenharmony_ci
1322bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BASE_HIGH				0x000015f4
1323bf215546Sopenharmony_ci
1324bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BASE_LOW				0x000015f8
1325bf215546Sopenharmony_ci
1326bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_WINDOW_OFFSET_X				0x000015fc
1327bf215546Sopenharmony_ci
1328bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_WINDOW_OFFSET_Y				0x00001600
1329bf215546Sopenharmony_ci
1330bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE				0x00001604
1331bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_UNK0__MASK			0x00000003
1332bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_UNK0__SHIFT		0
1333bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK0			0x00000000
1334bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK1			0x00000001
1335bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK2			0x00000002
1336bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__MASK		0x00000004
1337bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__SHIFT	2
1338bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_LOWER_LEFT	0x00000000
1339bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_UPPER_LEFT	0x00000004
1340bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_ENABLE__MASK		0x00001ff8
1341bf215546Sopenharmony_ci#define NVC0_3D_POINT_COORD_REPLACE_ENABLE__SHIFT		3
1342bf215546Sopenharmony_ci
1343bf215546Sopenharmony_ci#define NVC0_3D_CODE_ADDRESS_HIGH				0x00001608
1344bf215546Sopenharmony_ci
1345bf215546Sopenharmony_ci#define NVC0_3D_CODE_ADDRESS_LOW				0x0000160c
1346bf215546Sopenharmony_ci
1347bf215546Sopenharmony_ci#define NVC0_3D_UNK1610					0x00001610
1348bf215546Sopenharmony_ci
1349bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_END_GL					0x00001614
1350bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_END_GL_UNK0				0x00000001
1351bf215546Sopenharmony_ci
1352bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL				0x00001618
1353bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK		0x0000ffff
1354bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT		0
1355bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS		0x00000000
1356bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES		0x00000001
1357bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_LOOP		0x00000002
1358bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP		0x00000003
1359bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES		0x00000004
1360bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP	0x00000005
1361bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_FAN		0x00000006
1362bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS		0x00000007
1363bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUAD_STRIP		0x00000008
1364bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POLYGON		0x00000009
1365bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES_ADJACENCY	0x0000000a
1366bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP_ADJACENCY	0x0000000b
1367bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES_ADJACENCY	0x0000000c
1368bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY	0x0000000d
1369bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_PATCHES		0x0000000e
1370bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_UNK24				0x01000000
1371bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT			0x04000000
1372bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_CONT			0x08000000
1373bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_UNK29				0x20000000
1374bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_BEGIN_GL_UNK30				0x40000000
1375bf215546Sopenharmony_ci
1376bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ID_REPLACE				0x0000161c
1377bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ID_REPLACE_ENABLE			0x00000001
1378bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__MASK			0x00000ff0
1379bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__SHIFT		4
1380bf215546Sopenharmony_ci
1381bf215546Sopenharmony_ci#define NVC0_3D_UNK1620					0x00001620
1382bf215546Sopenharmony_ci
1383bf215546Sopenharmony_ci#define NVC0_3D_UNK1624					0x00001624
1384bf215546Sopenharmony_ci
1385bf215546Sopenharmony_ci#define NVC0_3D_UNK162C					0x0000162c
1386bf215546Sopenharmony_ci
1387bf215546Sopenharmony_ci#define NVC0_3D_UNK1634					0x00001634
1388bf215546Sopenharmony_ci
1389bf215546Sopenharmony_ci#define NVC0_3D_UNK1638					0x00001638
1390bf215546Sopenharmony_ci
1391bf215546Sopenharmony_ci#define NVC0_3D_UNK163C					0x0000163c
1392bf215546Sopenharmony_ci
1393bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_DATA					0x00001640
1394bf215546Sopenharmony_ci
1395bf215546Sopenharmony_ci#define NVC0_3D_PRIM_RESTART_ENABLE				0x00001644
1396bf215546Sopenharmony_ci
1397bf215546Sopenharmony_ci#define NVC0_3D_PRIM_RESTART_INDEX				0x00001648
1398bf215546Sopenharmony_ci
1399bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ID_GEN_MODE				0x0000164c
1400bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ID_GEN_MODE_DRAW_ARRAYS_ADD_START	0x00001000
1401bf215546Sopenharmony_ci
1402bf215546Sopenharmony_ci#define NVC0_3D_POINT_SMOOTH_ENABLE				0x00001658
1403bf215546Sopenharmony_ci
1404bf215546Sopenharmony_ci#define NVC0_3D_POINT_RASTER_RULES				0x0000165c
1405bf215546Sopenharmony_ci#define NVC0_3D_POINT_RASTER_RULES_OGL				0x00000000
1406bf215546Sopenharmony_ci#define NVC0_3D_POINT_RASTER_RULES_D3D				0x00000001
1407bf215546Sopenharmony_ci
1408bf215546Sopenharmony_ci#define NVC0_3D_TEX_MISC					0x00001664
1409bf215546Sopenharmony_ci#define NVC0_3D_TEX_MISC_UNK					0x00000002
1410bf215546Sopenharmony_ci#define NVC0_3D_TEX_MISC_SEAMLESS_CUBE_MAP			0x00000004
1411bf215546Sopenharmony_ci
1412bf215546Sopenharmony_ci#define NVC0_3D_LINE_SMOOTH_BLUR				0x00001668
1413bf215546Sopenharmony_ci#define NVC0_3D_LINE_SMOOTH_BLUR_LOW				0x00000000
1414bf215546Sopenharmony_ci#define NVC0_3D_LINE_SMOOTH_BLUR_MEDIUM			0x00000001
1415bf215546Sopenharmony_ci#define NVC0_3D_LINE_SMOOTH_BLUR_HIGH				0x00000002
1416bf215546Sopenharmony_ci
1417bf215546Sopenharmony_ci#define NVC0_3D_LINE_STIPPLE_ENABLE				0x0000166c
1418bf215546Sopenharmony_ci
1419bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT(i0)			       (0x00001670 + 0x4*(i0))
1420bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT__ESIZE				0x00000004
1421bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT__LEN				0x00000004
1422bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT_0__MASK				0x000000ff
1423bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT_0__SHIFT				0
1424bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT_1__MASK				0x0000ff00
1425bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT_1__SHIFT				8
1426bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT_2__MASK				0x00ff0000
1427bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT_2__SHIFT				16
1428bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT_3__MASK				0xff000000
1429bf215546Sopenharmony_ci#define NVC0_3D_COVERAGE_LUT_3__SHIFT				24
1430bf215546Sopenharmony_ci
1431bf215546Sopenharmony_ci#define NVC0_3D_LINE_STIPPLE_PATTERN				0x00001680
1432bf215546Sopenharmony_ci
1433bf215546Sopenharmony_ci#define NVC0_3D_PROVOKING_VERTEX_LAST				0x00001684
1434bf215546Sopenharmony_ci
1435bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_TWO_SIDE_ENABLE				0x00001688
1436bf215546Sopenharmony_ci
1437bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_STIPPLE_ENABLE				0x0000168c
1438bf215546Sopenharmony_ci
1439bf215546Sopenharmony_ci#define NVC0_3D_UNK1690					0x00001690
1440bf215546Sopenharmony_ci#define NVC0_3D_UNK1690_ALWAYS_DERIV				0x00000001
1441bf215546Sopenharmony_ci#define NVC0_3D_UNK1690_UNK16					0x00010000
1442bf215546Sopenharmony_ci
1443bf215546Sopenharmony_ci#define NVE4_3D_UNK1690					0x00001690
1444bf215546Sopenharmony_ci
1445bf215546Sopenharmony_ci#define NVC0_3D_UNK169C					0x0000169c
1446bf215546Sopenharmony_ci
1447bf215546Sopenharmony_ci#define NVC0_3D_UNK16A0					0x000016a0
1448bf215546Sopenharmony_ci
1449bf215546Sopenharmony_ci#define NVC0_3D_UNK16A4					0x000016a4
1450bf215546Sopenharmony_ci
1451bf215546Sopenharmony_ci#define NVC0_3D_UNK16A8					0x000016a8
1452bf215546Sopenharmony_ci
1453bf215546Sopenharmony_ci#define NVC0_3D_UNK16B4					0x000016b4
1454bf215546Sopenharmony_ci#define NVC0_3D_UNK16B4_UNK0					0x00000001
1455bf215546Sopenharmony_ci#define NVC0_3D_UNK16B4_UNK1					0x00000002
1456bf215546Sopenharmony_ci
1457bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_STIPPLE_PATTERN(i0)		       (0x00001700 + 0x4*(i0))
1458bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_STIPPLE_PATTERN__ESIZE			0x00000004
1459bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_STIPPLE_PATTERN__LEN			0x00000020
1460bf215546Sopenharmony_ci
1461bf215546Sopenharmony_ci#define NVC0_3D_UNK1790					0x00001790
1462bf215546Sopenharmony_ci
1463bf215546Sopenharmony_ci#define NVC0_3D_UNK1794					0x00001794
1464bf215546Sopenharmony_ci
1465bf215546Sopenharmony_ci#define NVC0_3D_ZETA_BASE_LAYER				0x0000179c
1466bf215546Sopenharmony_ci
1467bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_HIGH			0x000017bc
1468bf215546Sopenharmony_ci
1469bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_LOW			0x000017c0
1470bf215546Sopenharmony_ci
1471bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_QUARANTINE_SIZE				0x000017c4
1472bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_QUARANTINE_SIZE_16K			0x00000001
1473bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_QUARANTINE_SIZE_32K			0x00000002
1474bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_QUARANTINE_SIZE_64K			0x00000003
1475bf215546Sopenharmony_ci
1476bf215546Sopenharmony_ci#define NVC0_3D_INDEX_ARRAY_START_HIGH				0x000017c8
1477bf215546Sopenharmony_ci
1478bf215546Sopenharmony_ci#define NVC0_3D_INDEX_ARRAY_START_LOW				0x000017cc
1479bf215546Sopenharmony_ci
1480bf215546Sopenharmony_ci#define NVC0_3D_INDEX_ARRAY_LIMIT_HIGH				0x000017d0
1481bf215546Sopenharmony_ci
1482bf215546Sopenharmony_ci#define NVC0_3D_INDEX_ARRAY_LIMIT_LOW				0x000017d4
1483bf215546Sopenharmony_ci
1484bf215546Sopenharmony_ci#define NVC0_3D_INDEX_FORMAT					0x000017d8
1485bf215546Sopenharmony_ci#define NVC0_3D_INDEX_FORMAT_I8				0x00000000
1486bf215546Sopenharmony_ci#define NVC0_3D_INDEX_FORMAT_I16				0x00000001
1487bf215546Sopenharmony_ci#define NVC0_3D_INDEX_FORMAT_I32				0x00000002
1488bf215546Sopenharmony_ci
1489bf215546Sopenharmony_ci#define NVC0_3D_INDEX_BATCH_FIRST				0x000017dc
1490bf215546Sopenharmony_ci
1491bf215546Sopenharmony_ci#define NVC0_3D_INDEX_BATCH_COUNT				0x000017e0
1492bf215546Sopenharmony_ci
1493bf215546Sopenharmony_ci#define NVC0_3D_UN17E4(i0)				       (0x000017e4 + 0x4*(i0))
1494bf215546Sopenharmony_ci#define NVC0_3D_UN17E4__ESIZE					0x00000004
1495bf215546Sopenharmony_ci#define NVC0_3D_UN17E4__LEN					0x00000006
1496bf215546Sopenharmony_ci
1497bf215546Sopenharmony_ci#define NVC0_3D_POLYGON_OFFSET_CLAMP				0x0000187c
1498bf215546Sopenharmony_ci
1499bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE(i0)		       (0x00001880 + 0x4*(i0))
1500bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE		0x00000004
1501bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__LEN			0x00000020
1502bf215546Sopenharmony_ci
1503bf215546Sopenharmony_ci#define NVC0_3D_VP_POINT_SIZE					0x00001910
1504bf215546Sopenharmony_ci#define NVC0_3D_VP_POINT_SIZE_ENABLE				0x00000001
1505bf215546Sopenharmony_ci#define NVC0_3D_VP_POINT_SIZE_UNK4__MASK			0x00000ff0
1506bf215546Sopenharmony_ci#define NVC0_3D_VP_POINT_SIZE_UNK4__SHIFT			4
1507bf215546Sopenharmony_ci
1508bf215546Sopenharmony_ci#define NVC0_3D_CULL_FACE_ENABLE				0x00001918
1509bf215546Sopenharmony_ci
1510bf215546Sopenharmony_ci#define NVC0_3D_FRONT_FACE					0x0000191c
1511bf215546Sopenharmony_ci#define NVC0_3D_FRONT_FACE_CW					0x00000900
1512bf215546Sopenharmony_ci#define NVC0_3D_FRONT_FACE_CCW					0x00000901
1513bf215546Sopenharmony_ci
1514bf215546Sopenharmony_ci#define NVC0_3D_CULL_FACE					0x00001920
1515bf215546Sopenharmony_ci#define NVC0_3D_CULL_FACE_FRONT				0x00000404
1516bf215546Sopenharmony_ci#define NVC0_3D_CULL_FACE_BACK					0x00000405
1517bf215546Sopenharmony_ci#define NVC0_3D_CULL_FACE_FRONT_AND_BACK			0x00000408
1518bf215546Sopenharmony_ci
1519bf215546Sopenharmony_ci#define NVC0_3D_PIXEL_CENTER_INTEGER				0x00001924
1520bf215546Sopenharmony_ci
1521bf215546Sopenharmony_ci#define NVC0_3D_VIEWPORT_TRANSFORM_EN				0x0000192c
1522bf215546Sopenharmony_ci
1523bf215546Sopenharmony_ci#define NVC0_3D_UNK1930					0x00001930
1524bf215546Sopenharmony_ci
1525bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL				0x0000193c
1526bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_RANGE_0_1		0x00000001
1527bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__MASK		0x00000006
1528bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__SHIFT		1
1529bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK0		0x00000000
1530bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK1		0x00000002
1531bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK2		0x00000004
1532bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_NEAR		0x00000008
1533bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_FAR		0x00000010
1534bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK7			0x00000080
1535bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK10			0x00000400
1536bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK11			0x00000800
1537bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__MASK		0x00003000
1538bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__SHIFT		12
1539bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK0		0x00000000
1540bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1		0x00001000
1541bf215546Sopenharmony_ci#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK2		0x00002000
1542bf215546Sopenharmony_ci
1543bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE				0x00001940
1544bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_0__MASK			0x00000001
1545bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_0__SHIFT			0
1546bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_0_CLIP			0x00000000
1547bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_0_CULL			0x00000001
1548bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_1__MASK			0x00000010
1549bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_1__SHIFT			4
1550bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_1_CLIP			0x00000000
1551bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_1_CULL			0x00000010
1552bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_2__MASK			0x00000100
1553bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_2__SHIFT			8
1554bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_2_CLIP			0x00000000
1555bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_2_CULL			0x00000100
1556bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_3__MASK			0x00001000
1557bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_3__SHIFT			12
1558bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_3_CLIP			0x00000000
1559bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_3_CULL			0x00001000
1560bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_4__MASK			0x00010000
1561bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_4__SHIFT			16
1562bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_4_CLIP			0x00000000
1563bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_4_CULL			0x00010000
1564bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_5__MASK			0x00100000
1565bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_5__SHIFT			20
1566bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_5_CLIP			0x00000000
1567bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_5_CULL			0x00100000
1568bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_6__MASK			0x01000000
1569bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_6__SHIFT			24
1570bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_6_CLIP			0x00000000
1571bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_6_CULL			0x01000000
1572bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_7__MASK			0x10000000
1573bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_7__SHIFT			28
1574bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_7_CLIP			0x00000000
1575bf215546Sopenharmony_ci#define NVC0_3D_CLIP_DISTANCE_MODE_7_CULL			0x10000000
1576bf215546Sopenharmony_ci
1577bf215546Sopenharmony_ci#define NVC0_3D_UNK1944					0x00001944
1578bf215546Sopenharmony_ci
1579bf215546Sopenharmony_ci#define NVC0_3D_UNK1948					0x00001948
1580bf215546Sopenharmony_ci
1581bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECTS_EN					0x0000194c
1582bf215546Sopenharmony_ci
1583bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECTS_MODE				0x00001950
1584bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECTS_MODE_INSIDE_ANY			0x00000000
1585bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECTS_MODE_OUTSIDE_ALL			0x00000001
1586bf215546Sopenharmony_ci#define NVC0_3D_CLIP_RECTS_MODE_NEVER				0x00000002
1587bf215546Sopenharmony_ci
1588bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_INVALIDATE				0x00001958
1589bf215546Sopenharmony_ci
1590bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK1968					0x00001968
1591bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK1968_TESTS_ENABLE			0x00000001
1592bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_UNK1968_UNK4				0x00000010
1593bf215546Sopenharmony_ci
1594bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_TEST_MASK				0x0000196c
1595bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_TEST_MASK_FAIL_GT_PASS_LT		0x00000001
1596bf215546Sopenharmony_ci#define NVC0_3D_ZCULL_TEST_MASK_PASS_GT_FAIL_LT		0x00000010
1597bf215546Sopenharmony_ci
1598bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D					0x00001970
1599bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_POINTS				0x00000001
1600bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_LINES				0x00000002
1601bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_LINE_STRIP				0x00000003
1602bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_TRIANGLES				0x00000004
1603bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_TRIANGLE_STRIP			0x00000005
1604bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_LINES_ADJACENCY			0x0000000a
1605bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_LINE_STRIP_ADJACENCY		0x0000000b
1606bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_TRIANGLES_ADJACENCY		0x0000000c
1607bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_TRIANGLE_STRIP_ADJACENCY		0x0000000d
1608bf215546Sopenharmony_ci#define NVC0_3D_UNK1970_D3D_PATCHES				0x0000000e
1609bf215546Sopenharmony_ci
1610bf215546Sopenharmony_ci#define NVC0_3D_UNK1978					0x00001978
1611bf215546Sopenharmony_ci
1612bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_ENABLE					0x0000197c
1613bf215546Sopenharmony_ci
1614bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_WIDTH					0x00001980
1615bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_WIDTH__MAX				0x00002000
1616bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_WIDTH__ALIGN				0x00000040
1617bf215546Sopenharmony_ci
1618bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_ID					0x00001984
1619bf215546Sopenharmony_ci
1620bf215546Sopenharmony_ci#define NVC0_3D_DEPTH_BOUNDS_EN				0x000019bc
1621bf215546Sopenharmony_ci
1622bf215546Sopenharmony_ci#define NVC0_3D_UNK19C0					0x000019c0
1623bf215546Sopenharmony_ci
1624bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_ENABLE				0x000019c4
1625bf215546Sopenharmony_ci
1626bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP					0x000019c8
1627bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_CLEAR					0x00001500
1628bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_AND					0x00001501
1629bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_AND_REVERSE				0x00001502
1630bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_COPY					0x00001503
1631bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_AND_INVERTED				0x00001504
1632bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_NOOP					0x00001505
1633bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_XOR					0x00001506
1634bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_OR					0x00001507
1635bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_NOR					0x00001508
1636bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_EQUIV					0x00001509
1637bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_INVERT				0x0000150a
1638bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_OR_REVERSE				0x0000150b
1639bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_COPY_INVERTED				0x0000150c
1640bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_OR_INVERTED				0x0000150d
1641bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_NAND					0x0000150e
1642bf215546Sopenharmony_ci#define NVC0_3D_LOGIC_OP_SET					0x0000150f
1643bf215546Sopenharmony_ci
1644bf215546Sopenharmony_ci#define NVC0_3D_ZETA_COMP_ENABLE				0x000019cc
1645bf215546Sopenharmony_ci
1646bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS					0x000019d0
1647bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_Z				0x00000001
1648bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_S				0x00000002
1649bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_R				0x00000004
1650bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_G				0x00000008
1651bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_B				0x00000010
1652bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_A				0x00000020
1653bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_RT__MASK				0x000003c0
1654bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_RT__SHIFT			6
1655bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_LAYER__MASK			0x001ffc00
1656bf215546Sopenharmony_ci#define NVC0_3D_CLEAR_BUFFERS_LAYER__SHIFT			10
1657bf215546Sopenharmony_ci
1658bf215546Sopenharmony_ci#define NVC0_3D_CLIPID_FILL					0x000019d4
1659bf215546Sopenharmony_ci
1660bf215546Sopenharmony_ci#define NVC0_3D_RT_COMP_ENABLE(i0)			       (0x000019e0 + 0x4*(i0))
1661bf215546Sopenharmony_ci#define NVC0_3D_RT_COMP_ENABLE__ESIZE				0x00000004
1662bf215546Sopenharmony_ci#define NVC0_3D_RT_COMP_ENABLE__LEN				0x00000008
1663bf215546Sopenharmony_ci
1664bf215546Sopenharmony_ci#define NVC0_3D_COLOR_MASK(i0)				       (0x00001a00 + 0x4*(i0))
1665bf215546Sopenharmony_ci#define NVC0_3D_COLOR_MASK__ESIZE				0x00000004
1666bf215546Sopenharmony_ci#define NVC0_3D_COLOR_MASK__LEN				0x00000008
1667bf215546Sopenharmony_ci#define NVC0_3D_COLOR_MASK_R					0x0000000f
1668bf215546Sopenharmony_ci#define NVC0_3D_COLOR_MASK_G					0x000000f0
1669bf215546Sopenharmony_ci#define NVC0_3D_COLOR_MASK_B					0x00000f00
1670bf215546Sopenharmony_ci#define NVC0_3D_COLOR_MASK_A					0x0000f000
1671bf215546Sopenharmony_ci
1672bf215546Sopenharmony_ci#define NVC0_3D_DELAY						0x00001a24
1673bf215546Sopenharmony_ci
1674bf215546Sopenharmony_ci#define NVC0_3D_UNK1A2C(i0)				       (0x00001a2c + 0x4*(i0))
1675bf215546Sopenharmony_ci#define NVC0_3D_UNK1A2C__ESIZE					0x00000004
1676bf215546Sopenharmony_ci#define NVC0_3D_UNK1A2C__LEN					0x00000005
1677bf215546Sopenharmony_ci
1678bf215546Sopenharmony_ci#define NVC0_3D_QUERY_ADDRESS_HIGH				0x00001b00
1679bf215546Sopenharmony_ci
1680bf215546Sopenharmony_ci#define NVC0_3D_QUERY_ADDRESS_LOW				0x00001b04
1681bf215546Sopenharmony_ci
1682bf215546Sopenharmony_ci#define NVC0_3D_QUERY_SEQUENCE					0x00001b08
1683bf215546Sopenharmony_ci
1684bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET					0x00001b0c
1685bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_MODE__MASK				0x00000003
1686bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_MODE__SHIFT				0
1687bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_MODE_WRITE				0x00000000
1688bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_MODE_SYNC				0x00000001
1689bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_MODE_WRITE_UNK2			0x00000002
1690bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_MODE_WRITE_INTR_NRHOST		0x00000003
1691bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_UNK2					0x00000004
1692bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_FENCE				0x00000010
1693bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_STREAM__MASK				0x000000e0
1694bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_STREAM__SHIFT			5
1695bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_UNK8					0x00000100
1696bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_UNIT__MASK				0x0000f000
1697bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_UNIT__SHIFT				12
1698bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SYNC_COND__MASK			0x00010000
1699bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SYNC_COND__SHIFT			16
1700bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SYNC_COND_NEQUAL			0x00000000
1701bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SYNC_COND_GREATER			0x00010000
1702bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_INTR					0x00100000
1703bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_UNK21				0x00200000
1704bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SELECT__MASK				0x0f800000
1705bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SELECT__SHIFT			23
1706bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SELECT_ZERO				0x00000000
1707bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SELECT_SAMPLECNT			0x01000000
1708bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SELECT_EMITTED_PRIMS			0x05800000
1709bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SELECT_GENERATED_PRIMS		0x09000000
1710bf215546Sopenharmony_ci#define NVC0_3D_QUERY_GET_SHORT				0x10000000
1711bf215546Sopenharmony_ci
1712bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_FETCH(i0)			       (0x00001c00 + 0x10*(i0))
1713bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_FETCH__ESIZE			0x00000010
1714bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_FETCH__LEN			0x00000020
1715bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK		0x00000fff
1716bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT		0
1717bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE			0x00001000
1718bf215546Sopenharmony_ci
1719bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_START_HIGH(i0)		       (0x00001c04 + 0x10*(i0))
1720bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_START_HIGH__ESIZE			0x00000010
1721bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_START_HIGH__LEN			0x00000020
1722bf215546Sopenharmony_ci
1723bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_START_LOW(i0)		       (0x00001c08 + 0x10*(i0))
1724bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_START_LOW__ESIZE			0x00000010
1725bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_START_LOW__LEN			0x00000020
1726bf215546Sopenharmony_ci
1727bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_DIVISOR(i0)		       (0x00001c0c + 0x10*(i0))
1728bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_DIVISOR__ESIZE			0x00000010
1729bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_DIVISOR__LEN			0x00000020
1730bf215546Sopenharmony_ci
1731bf215546Sopenharmony_ci#define NVC0_3D_IBLEND(i0)				       (0x00001e00 + 0x20*(i0))
1732bf215546Sopenharmony_ci#define NVC0_3D_IBLEND__ESIZE					0x00000020
1733bf215546Sopenharmony_ci#define NVC0_3D_IBLEND__LEN					0x00000008
1734bf215546Sopenharmony_ci
1735bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_SEPARATE_ALPHA(i0)		       (0x00001e00 + 0x20*(i0))
1736bf215546Sopenharmony_ci
1737bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_RGB(i0)		       (0x00001e04 + 0x20*(i0))
1738bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_ADD			0x00008006
1739bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_RGB_MIN			0x00008007
1740bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_RGB_MAX			0x00008008
1741bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_SUBTRACT		0x0000800a
1742bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT	0x0000800b
1743bf215546Sopenharmony_ci
1744bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_FUNC_SRC_RGB(i0)		       (0x00001e08 + 0x20*(i0))
1745bf215546Sopenharmony_ci
1746bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_FUNC_DST_RGB(i0)		       (0x00001e0c + 0x20*(i0))
1747bf215546Sopenharmony_ci
1748bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_ALPHA(i0)		       (0x00001e10 + 0x20*(i0))
1749bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_ADD			0x00008006
1750bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_ALPHA_MIN			0x00008007
1751bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_ALPHA_MAX			0x00008008
1752bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_SUBTRACT		0x0000800a
1753bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT	0x0000800b
1754bf215546Sopenharmony_ci
1755bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_FUNC_SRC_ALPHA(i0)		       (0x00001e14 + 0x20*(i0))
1756bf215546Sopenharmony_ci
1757bf215546Sopenharmony_ci#define NVC0_3D_IBLEND_FUNC_DST_ALPHA(i0)		       (0x00001e18 + 0x20*(i0))
1758bf215546Sopenharmony_ci
1759bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH(i0)		       (0x00001f00 + 0x8*(i0))
1760bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__ESIZE			0x00000008
1761bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__LEN			0x00000020
1762bf215546Sopenharmony_ci
1763bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW(i0)		       (0x00001f04 + 0x8*(i0))
1764bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__ESIZE			0x00000008
1765bf215546Sopenharmony_ci#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__LEN			0x00000020
1766bf215546Sopenharmony_ci
1767bf215546Sopenharmony_ci#define NVC0_3D_SP(i0)					       (0x00002000 + 0x40*(i0))
1768bf215546Sopenharmony_ci#define NVC0_3D_SP__ESIZE					0x00000040
1769bf215546Sopenharmony_ci#define NVC0_3D_SP__LEN					0x00000006
1770bf215546Sopenharmony_ci
1771bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT(i0)				       (0x00002000 + 0x40*(i0))
1772bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_ENABLE				0x00000001
1773bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_PROGRAM__MASK			0x000000f0
1774bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_PROGRAM__SHIFT			4
1775bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_PROGRAM_VP_A				0x00000000
1776bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_PROGRAM_VP_B				0x00000010
1777bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_PROGRAM_TCP				0x00000020
1778bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_PROGRAM_TEP				0x00000030
1779bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_PROGRAM_GP				0x00000040
1780bf215546Sopenharmony_ci#define NVC0_3D_SP_SELECT_PROGRAM_FP				0x00000050
1781bf215546Sopenharmony_ci
1782bf215546Sopenharmony_ci#define NVC0_3D_SP_START_ID(i0)			       (0x00002004 + 0x40*(i0))
1783bf215546Sopenharmony_ci
1784bf215546Sopenharmony_ci#define NVC0_3D_SP_UNK08(i0)				       (0x00002008 + 0x40*(i0))
1785bf215546Sopenharmony_ci
1786bf215546Sopenharmony_ci#define NVC0_3D_SP_GPR_ALLOC(i0)			       (0x0000200c + 0x40*(i0))
1787bf215546Sopenharmony_ci
1788bf215546Sopenharmony_ci#define NVC0_3D_SP_TYPE(i0)				       (0x00002010 + 0x40*(i0))
1789bf215546Sopenharmony_ci#define NVC0_3D_SP_TYPE_VP					0x00000000
1790bf215546Sopenharmony_ci#define NVC0_3D_SP_TYPE_TCP					0x00000001
1791bf215546Sopenharmony_ci#define NVC0_3D_SP_TYPE_TEP					0x00000002
1792bf215546Sopenharmony_ci#define NVC0_3D_SP_TYPE_GP					0x00000003
1793bf215546Sopenharmony_ci#define NVC0_3D_SP_TYPE_FP					0x00000004
1794bf215546Sopenharmony_ci
1795bf215546Sopenharmony_ci#define NVC0_3D_SP_UNK14(i0, i1)			       (0x00002014 + 0x40*(i0) + 0x4*(i1))
1796bf215546Sopenharmony_ci#define NVC0_3D_SP_UNK14__ESIZE				0x00000004
1797bf215546Sopenharmony_ci#define NVC0_3D_SP_UNK14__LEN					0x00000004
1798bf215546Sopenharmony_ci
1799bf215546Sopenharmony_ci#define GV100_3D_SP_ADDRESS_HIGH(i0)			       (0x00002014 + 0x40*(i0))
1800bf215546Sopenharmony_ci#define GV100_3D_SP_ADDRESS_LOW(i0)			       (0x00002018 + 0x40*(i0))
1801bf215546Sopenharmony_ci
1802bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS(i0)				       (0x00002200 + 0x10*(i0))
1803bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS__ESIZE				0x00000010
1804bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS__LEN				0x00000005
1805bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MASK			0x0000000f
1806bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__SHIFT		0
1807bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MIN			0x00000000
1808bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MAX			0x00000004
1809bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MASK			0x000000f0
1810bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__SHIFT		4
1811bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MIN			0x00000000
1812bf215546Sopenharmony_ci#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MAX			0x00000007
1813bf215546Sopenharmony_ci
1814bf215546Sopenharmony_ci#define NVC0_3D_UNK2204(i0)				       (0x00002204 + 0x10*(i0))
1815bf215546Sopenharmony_ci#define NVC0_3D_UNK2204__ESIZE					0x00000010
1816bf215546Sopenharmony_ci#define NVC0_3D_UNK2204__LEN					0x00000005
1817bf215546Sopenharmony_ci
1818bf215546Sopenharmony_ci#define NVC0_3D_UNK2208(i0)				       (0x00002208 + 0x10*(i0))
1819bf215546Sopenharmony_ci#define NVC0_3D_UNK2208__ESIZE					0x00000010
1820bf215546Sopenharmony_ci#define NVC0_3D_UNK2208__LEN					0x00000005
1821bf215546Sopenharmony_ci
1822bf215546Sopenharmony_ci#define NVC0_3D_FIRMWARE(i0)				       (0x00002300 + 0x4*(i0))
1823bf215546Sopenharmony_ci#define NVC0_3D_FIRMWARE__ESIZE				0x00000004
1824bf215546Sopenharmony_ci#define NVC0_3D_FIRMWARE__LEN					0x00000020
1825bf215546Sopenharmony_ci
1826bf215546Sopenharmony_ci#define NVC0_3D_CB_SIZE					0x00002380
1827bf215546Sopenharmony_ci
1828bf215546Sopenharmony_ci#define NVC0_3D_CB_ADDRESS_HIGH				0x00002384
1829bf215546Sopenharmony_ci
1830bf215546Sopenharmony_ci#define NVC0_3D_CB_ADDRESS_LOW					0x00002388
1831bf215546Sopenharmony_ci
1832bf215546Sopenharmony_ci#define NVC0_3D_CB_POS						0x0000238c
1833bf215546Sopenharmony_ci
1834bf215546Sopenharmony_ci#define NVC0_3D_CB_DATA(i0)				       (0x00002390 + 0x4*(i0))
1835bf215546Sopenharmony_ci#define NVC0_3D_CB_DATA__ESIZE					0x00000004
1836bf215546Sopenharmony_ci#define NVC0_3D_CB_DATA__LEN					0x00000010
1837bf215546Sopenharmony_ci
1838bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC(i0)				       (0x00002400 + 0x20*(i0))
1839bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC__ESIZE				0x00000020
1840bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC__LEN					0x00000005
1841bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC_ACTIVE				0x00000001
1842bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC_SAMPLER__MASK				0x00000ff0
1843bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC_SAMPLER__SHIFT			4
1844bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC_TSC__MASK				0x01fff000
1845bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC_TSC__SHIFT				12
1846bf215546Sopenharmony_ci
1847bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC(i0)				       (0x00002404 + 0x20*(i0))
1848bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC__ESIZE				0x00000020
1849bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC__LEN					0x00000005
1850bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC_ACTIVE				0x00000001
1851bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC_TEXTURE__MASK				0x000001fe
1852bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC_TEXTURE__SHIFT			1
1853bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC_TIC__MASK				0x7ffffe00
1854bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC_TIC__SHIFT				9
1855bf215546Sopenharmony_ci
1856bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC2(i0)				       (0x00002408 + 0x20*(i0))
1857bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC2__ESIZE				0x00000020
1858bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC2__LEN					0x00000005
1859bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC2_ACTIVE				0x00000001
1860bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC2_SAMPLER__MASK			0x00000010
1861bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC2_SAMPLER__SHIFT			4
1862bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC2_TSC__MASK				0x01fff000
1863bf215546Sopenharmony_ci#define NVC0_3D_BIND_TSC2_TSC__SHIFT				12
1864bf215546Sopenharmony_ci
1865bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC2(i0)				       (0x0000240c + 0x20*(i0))
1866bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC2__ESIZE				0x00000020
1867bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC2__LEN					0x00000005
1868bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC2_ACTIVE				0x00000001
1869bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC2_TEXTURE__MASK			0x00000002
1870bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC2_TEXTURE__SHIFT			1
1871bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC2_TIC__MASK				0x7ffffe00
1872bf215546Sopenharmony_ci#define NVC0_3D_BIND_TIC2_TIC__SHIFT				9
1873bf215546Sopenharmony_ci
1874bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TSC(i0)			       (0x00002400 + 0x20*(i0))
1875bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TSC__ESIZE				0x00000020
1876bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TSC__LEN				0x00000005
1877bf215546Sopenharmony_ci
1878bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TIC(i0)			       (0x00002404 + 0x20*(i0))
1879bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TIC__ESIZE				0x00000020
1880bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TIC__LEN				0x00000005
1881bf215546Sopenharmony_ci
1882bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TSC2(i0)			       (0x00002408 + 0x20*(i0))
1883bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TSC2__ESIZE				0x00000020
1884bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TSC2__LEN				0x00000005
1885bf215546Sopenharmony_ci
1886bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TIC2(i0)			       (0x0000240c + 0x20*(i0))
1887bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TIC2__ESIZE				0x00000020
1888bf215546Sopenharmony_ci#define NVE4_3D_UNK2400_TIC2__LEN				0x00000005
1889bf215546Sopenharmony_ci
1890bf215546Sopenharmony_ci#define NVC0_3D_CB_BIND(i0)				       (0x00002410 + 0x20*(i0))
1891bf215546Sopenharmony_ci#define NVC0_3D_CB_BIND__ESIZE					0x00000020
1892bf215546Sopenharmony_ci#define NVC0_3D_CB_BIND__LEN					0x00000005
1893bf215546Sopenharmony_ci#define NVC0_3D_CB_BIND_VALID					0x00000001
1894bf215546Sopenharmony_ci#define NVC0_3D_CB_BIND_INDEX__MASK				0x000001f0
1895bf215546Sopenharmony_ci#define NVC0_3D_CB_BIND_INDEX__SHIFT				4
1896bf215546Sopenharmony_ci
1897bf215546Sopenharmony_ci#define NVC0_3D_UNK2500(i0)				       (0x00002500 + 0x20*(i0))
1898bf215546Sopenharmony_ci#define NVC0_3D_UNK2500__ESIZE					0x00000020
1899bf215546Sopenharmony_ci#define NVC0_3D_UNK2500__LEN					0x00000005
1900bf215546Sopenharmony_ci
1901bf215546Sopenharmony_ci#define NVC0_3D_UNK2504(i0)				       (0x00002504 + 0x20*(i0))
1902bf215546Sopenharmony_ci#define NVC0_3D_UNK2504__ESIZE					0x00000020
1903bf215546Sopenharmony_ci#define NVC0_3D_UNK2504__LEN					0x00000005
1904bf215546Sopenharmony_ci
1905bf215546Sopenharmony_ci#define NVC0_3D_UNK2508(i0)				       (0x00002508 + 0x20*(i0))
1906bf215546Sopenharmony_ci#define NVC0_3D_UNK2508__ESIZE					0x00000020
1907bf215546Sopenharmony_ci#define NVC0_3D_UNK2508__LEN					0x00000005
1908bf215546Sopenharmony_ci
1909bf215546Sopenharmony_ci#define NVC0_3D_UNK250C(i0)				       (0x0000250c + 0x20*(i0))
1910bf215546Sopenharmony_ci#define NVC0_3D_UNK250C__ESIZE					0x00000020
1911bf215546Sopenharmony_ci#define NVC0_3D_UNK250C__LEN					0x00000005
1912bf215546Sopenharmony_ci
1913bf215546Sopenharmony_ci#define NVC0_3D_UNK2510(i0)				       (0x00002510 + 0x20*(i0))
1914bf215546Sopenharmony_ci#define NVC0_3D_UNK2510__ESIZE					0x00000020
1915bf215546Sopenharmony_ci#define NVC0_3D_UNK2510__LEN					0x00000005
1916bf215546Sopenharmony_ci
1917bf215546Sopenharmony_ci#define NVC0_3D_VERT_COLOR_CLAMP_EN				0x00002600
1918bf215546Sopenharmony_ci
1919bf215546Sopenharmony_ci#define NVE4_3D_UNK2604					0x00002604
1920bf215546Sopenharmony_ci
1921bf215546Sopenharmony_ci#define NVE4_3D_TEX_CB_INDEX					0x00002608
1922bf215546Sopenharmony_ci#define NVE4_3D_TEX_CB_INDEX__MIN				0x00000000
1923bf215546Sopenharmony_ci#define NVE4_3D_TEX_CB_INDEX__MAX				0x00000010
1924bf215546Sopenharmony_ci
1925bf215546Sopenharmony_ci#define NVE4_3D_UNK260C					0x0000260c
1926bf215546Sopenharmony_ci
1927bf215546Sopenharmony_ci#define NVC0_3D_IMAGE(i0)				       (0x00002700 + 0x20*(i0))
1928bf215546Sopenharmony_ci#define NVC0_3D_IMAGE__ESIZE					0x00000020
1929bf215546Sopenharmony_ci#define NVC0_3D_IMAGE__LEN					0x00000008
1930bf215546Sopenharmony_ci
1931bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_ADDRESS_HIGH(i0)			       (0x00002700 + 0x20*(i0))
1932bf215546Sopenharmony_ci
1933bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_ADDRESS_LOW(i0)			       (0x00002704 + 0x20*(i0))
1934bf215546Sopenharmony_ci
1935bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_WIDTH(i0)			       (0x00002708 + 0x20*(i0))
1936bf215546Sopenharmony_ci
1937bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_HEIGHT(i0)			       (0x0000270c + 0x20*(i0))
1938bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_HEIGHT_HEIGHT__MASK			0x0000ffff
1939bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_HEIGHT_HEIGHT__SHIFT			0
1940bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_HEIGHT_UNK16				0x00010000
1941bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_HEIGHT_LINEAR				0x00100000
1942bf215546Sopenharmony_ci
1943bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_FORMAT(i0)			       (0x00002710 + 0x20*(i0))
1944bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_FORMAT_UNK0				0x00000001
1945bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_FORMAT_FORMAT_COLOR__MASK		0x00000ff0
1946bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_FORMAT_FORMAT_COLOR__SHIFT		4
1947bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_FORMAT_FORMAT_ZETA__MASK			0x0001f000
1948bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_FORMAT_FORMAT_ZETA__SHIFT		12
1949bf215546Sopenharmony_ci
1950bf215546Sopenharmony_ci#define NVC0_3D_IMAGE_TILE_MODE(i0)			       (0x00002714 + 0x20*(i0))
1951bf215546Sopenharmony_ci
1952bf215546Sopenharmony_ci
1953bf215546Sopenharmony_ci#define NVC0_3D_TFB_VARYING_LOCS(i0, i1)		       (0x00002800 + 0x80*(i0) + 0x4*(i1))
1954bf215546Sopenharmony_ci#define NVC0_3D_TFB_VARYING_LOCS__ESIZE			0x00000004
1955bf215546Sopenharmony_ci#define NVC0_3D_TFB_VARYING_LOCS__LEN				0x00000020
1956bf215546Sopenharmony_ci
1957bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SET(i0)				       (0x0000335c + 0x4*(i0))
1958bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SET__ESIZE				0x00000004
1959bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SET__LEN					0x00000008
1960bf215546Sopenharmony_ci
1961bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SIGSEL(i0)			       (0x0000337c + 0x4*(i0))
1962bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SIGSEL__ESIZE				0x00000004
1963bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SIGSEL__LEN				0x00000008
1964bf215546Sopenharmony_ci
1965bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL(i0)			       (0x0000337c + 0x4*(i0))
1966bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL__ESIZE				0x00000004
1967bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL__LEN				0x00000004
1968bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL_NONE				0x00000000
1969bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL_USER				0x00000001
1970bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL_LAUNCH				0x00000003
1971bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL_EXEC				0x00000004
1972bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL_ISSUE				0x00000005
1973bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL_LDST				0x0000001b
1974bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_A_SIGSEL_BRANCH				0x0000001c
1975bf215546Sopenharmony_ci
1976bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL(i0)			       (0x0000338c + 0x4*(i0))
1977bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL__ESIZE				0x00000004
1978bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL__LEN				0x00000004
1979bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL_NONE				0x00000000
1980bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL_WARP				0x00000002
1981bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL_REPLAY				0x00000008
1982bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL_TRANSACTION			0x0000000e
1983bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL_L1				0x00000010
1984bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_B_SIGSEL_MEM				0x00000011
1985bf215546Sopenharmony_ci
1986bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL(i0)			       (0x0000339c + 0x4*(i0))
1987bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL__ESIZE				0x00000004
1988bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL__LEN				0x00000008
1989bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_GRP0__MASK			0x00000007
1990bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_GRP0__SHIFT			0
1991bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_SIG0__MASK			0x00000070
1992bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_SIG0__SHIFT			4
1993bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_GRP1__MASK			0x00000700
1994bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_GRP1__SHIFT			8
1995bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_SIG1__MASK			0x00007000
1996bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_SIG1__SHIFT			12
1997bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_GRP2__MASK			0x00070000
1998bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_GRP2__SHIFT			16
1999bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_SIG2__MASK			0x00700000
2000bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_SIG2__SHIFT			20
2001bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_GRP3__MASK			0x07000000
2002bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_GRP3__SHIFT			24
2003bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_SIG3__MASK			0x70000000
2004bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_SRCSEL_SIG3__SHIFT			28
2005bf215546Sopenharmony_ci
2006bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL(i0)			       (0x0000339c + 0x4*(i0))
2007bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL__ESIZE				0x00000004
2008bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL__LEN				0x00000008
2009bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP0__MASK			0x00000003
2010bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP0__SHIFT			0
2011bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG0__MASK			0x0000001c
2012bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG0__SHIFT			2
2013bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP1__MASK			0x00000060
2014bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP1__SHIFT			5
2015bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG1__MASK			0x00000380
2016bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG1__SHIFT			7
2017bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP2__MASK			0x00000c00
2018bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP2__SHIFT			10
2019bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG2__MASK			0x00007000
2020bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG2__SHIFT			12
2021bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP3__MASK			0x00018000
2022bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP3__SHIFT			15
2023bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG3__MASK			0x000e0000
2024bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG3__SHIFT			17
2025bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP4__MASK			0x00300000
2026bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP4__SHIFT			20
2027bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG4__MASK			0x01c00000
2028bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG4__SHIFT			22
2029bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP5__MASK			0x06000000
2030bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_GRP5__SHIFT			25
2031bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG5__MASK			0x38000000
2032bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_SRCSEL_SIG5__SHIFT			27
2033bf215546Sopenharmony_ci
2034bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP(i0)				       (0x000033bc + 0x4*(i0))
2035bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP__ESIZE				0x00000004
2036bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP__LEN					0x00000008
2037bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP_MODE__MASK				0x00000001
2038bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP_MODE__SHIFT				0
2039bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP_MODE_LOGOP				0x00000000
2040bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP_MODE_LOGOP_PULSE			0x00000001
2041bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP_FUNC__MASK				0x000ffff0
2042bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_OP_FUNC__SHIFT				4
2043bf215546Sopenharmony_ci
2044bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC(i0)				       (0x000033bc + 0x4*(i0))
2045bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC__ESIZE				0x00000004
2046bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC__LEN				0x00000008
2047bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE__MASK				0x0000000f
2048bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE__SHIFT				0
2049bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP				0x00000000
2050bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_PULSE			0x00000001
2051bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_B6				0x00000002
2052bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_UNK3				0x00000003
2053bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_B6			0x00000004
2054bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_B6_PULSE			0x00000005
2055bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_UNK6				0x00000006
2056bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_UNK7				0x00000007
2057bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_MODE_UNK8				0x00000008
2058bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_FUNC__MASK				0x000ffff0
2059bf215546Sopenharmony_ci#define NVE4_3D_MP_PM_FUNC_FUNC__SHIFT				4
2060bf215546Sopenharmony_ci
2061bf215546Sopenharmony_ci#define NVC0_3D_MP_PM_UNK33DC					0x000033dc
2062bf215546Sopenharmony_ci
2063bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_VERTEX_ARRAY_SELECT			0x00003820
2064bf215546Sopenharmony_ci
2065bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_BLEND_ENABLES			0x00003858
2066bf215546Sopenharmony_ci
2067bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT			0x00003868
2068bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_POINT		0x00001b00
2069bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_LINE		0x00001b01
2070bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_FILL		0x00001b02
2071bf215546Sopenharmony_ci
2072bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK			0x00003870
2073bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_POINT		0x00001b00
2074bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_LINE		0x00001b01
2075bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_FILL		0x00001b02
2076bf215546Sopenharmony_ci
2077bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_GP_SELECT				0x00003878
2078bf215546Sopenharmony_ci
2079bf215546Sopenharmony_ci#define NVC0_3D_NVRM_MACRO_TEP_SELECT				0x00003880
2080bf215546Sopenharmony_ci
2081bf215546Sopenharmony_ci
2082bf215546Sopenharmony_ci#endif /* NVC0_3D_XML */
2083