1#ifndef RNNDB_NV_OBJECT_XML
2#define RNNDB_NV_OBJECT_XML
3
4/* WARNING ABOUT NOT EDITING AUTOGENERATED FILE IGNORED, _CLASS SUFFIX HAS
5 * BEEN ADDED TO ALL THE OBJECT CLASS DEFINITIONS TO AVOID CONFLICTS WITH
6 * THE RING MACROS WE WANT TO USE
7 */
8
9/* Autogenerated file, DO NOT EDIT manually!
10
11This file was generated by the rules-ng-ng headergen tool in this git repository:
12http://0x04.net/cgit/index.cgi/rules-ng-ng
13git clone git://0x04.net/rules-ng-ng
14
15The rules-ng-ng source files this header was generated from are:
16- rnndb/nv_object.xml    (  12672 bytes, from 2011-07-17 12:14:32)
17- ./rnndb/copyright.xml  (   6452 bytes, from 2011-07-09 13:43:58)
18- ./rnndb/nvchipsets.xml (   3701 bytes, from 2012-04-06 13:21:15)
19- ./rnndb/nv_defs.xml    (   4437 bytes, from 2011-07-09 13:43:58)
20- ./rnndb/nv50_defs.xml  (   5468 bytes, from 2011-07-09 13:43:58)
21
22Copyright (C) 2006-2011 by the following authors:
23- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
24- Ben Skeggs (darktama, darktama_)
25- B. R. <koala_br@users.sourceforge.net> (koala_br)
26- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
27- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
28- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
29- Dmitry Baryshkov
30- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
31- EdB <edb_@users.sf.net> (edb_)
32- Erik Waling <erikwailing@users.sf.net> (erikwaling)
33- Francisco Jerez <currojerez@riseup.net> (curro)
34- imirkin <imirkin@users.sf.net> (imirkin)
35- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
36- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
37- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
38- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
39- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
40- Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
41- Mark Carey <mark.carey@gmail.com> (careym)
42- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
43- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
44- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
45- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
46- Peter Popov <ironpeter@users.sf.net> (ironpeter)
47- Richard Hughes <hughsient@users.sf.net> (hughsient)
48- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
49- Serge Martin
50- Simon Raffeiner
51- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
52- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
53- sturmflut <sturmflut@users.sf.net> (sturmflut)
54- Sylvain Munaut <tnt@246tNt.com>
55- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
56- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
57- Younes Manton <younes.m@gmail.com> (ymanton)
58
59Permission is hereby granted, free of charge, to any person obtaining
60a copy of this software and associated documentation files (the
61"Software"), to deal in the Software without restriction, including
62without limitation the rights to use, copy, modify, merge, publish,
63distribute, sublicense, and/or sell copies of the Software, and to
64permit persons to whom the Software is furnished to do so, subject to
65the following conditions:
66
67The above copyright notice and this permission notice (including the
68next paragraph) shall be included in all copies or substantial
69portions of the Software.
70
71THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
72EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
73MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
74IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
75LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
76OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
77WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
78*/
79
80
81#define NV01_DMA_FROM_MEMORY_CLASS				0x00000002
82#define NV01_DMA_TO_MEMORY_CLASS				0x00000003
83#define NV01_NULL_CLASS						0x00000030
84#define NV03_DMA_IN_MEMORY_CLASS				0x0000003d
85#define NV01_OP_CLIP_CLASS					0x00000010
86#define NV01_OP_BLEND_AND_CLASS					0x00000011
87#define NV01_BETA_CLASS						0x00000012
88#define NV04_BETA4_CLASS					0x00000072
89#define NV01_OP_ROP_AND_CLASS					0x00000013
90#define NV01_ROP_CLASS						0x00000014
91#define NV03_ROP_CLASS						0x00000043
92#define NV01_OP_CHROMA_CLASS					0x00000015
93#define NV01_OP_PLANE_SWITCH_CLASS				0x00000016
94#define NV01_CHROMA_CLASS					0x00000017
95#define NV04_CHROMA_CLASS					0x00000057
96#define NV01_PATTERN_CLASS					0x00000018
97#define NV04_PATTERN_CLASS					0x00000044
98#define NV01_CLIP_CLASS						0x00000019
99#define NV01_OP_SRCCOPY_AND_CLASS				0x00000064
100#define NV03_OP_SRCCOPY_CLASS					0x00000065
101#define NV04_OP_SRCCOPY_PREMULT_CLASS				0x00000066
102#define NV04_OP_BLEND_PREMULT_CLASS				0x00000067
103#define NV01_POINT_CLASS					0x0000001a
104#define NV01_LINE_CLASS						0x0000001b
105#define NV01_LIN_CLASS						0x0000001c
106#define NV04_LIN_CLASS						0x0000005c
107#define NV30_LIN_CLASS						0x0000035c
108#define NV40_LIN_CLASS						0x0000305c
109#define NV01_TRI_CLASS						0x0000001d
110#define NV04_TRI_CLASS						0x0000005d
111#define NV01_RECT_CLASS						0x0000001e
112#define NV04_RECT_CLASS						0x0000005e
113#define NV01_BLIT_CLASS						0x0000001f
114#define NV04_BLIT_CLASS						0x0000005f
115#define NV15_BLIT_CLASS						0x0000009f
116#define NV01_IFROMMEM_CLASS					0x00000020
117#define NV01_IFC_CLASS						0x00000021
118#define NV04_IFC_CLASS						0x00000061
119#define NV05_IFC_CLASS						0x00000065
120#define NV10_IFC_CLASS						0x0000008a
121#define NV30_IFC_CLASS						0x0000038a
122#define NV40_IFC_CLASS						0x0000308a
123#define NV01_BITMAP_CLASS					0x00000022
124#define NV01_ITOMEM_CLASS					0x00000025
125#define NV03_SIFC_CLASS						0x00000036
126#define NV04_SIFC_CLASS						0x00000076
127#define NV05_SIFC_CLASS						0x00000066
128#define NV30_SIFC_CLASS						0x00000366
129#define NV40_SIFC_CLASS						0x00003066
130#define NV03_SIFM_CLASS						0x00000037
131#define NV04_SIFM_CLASS						0x00000077
132#define NV05_SIFM_CLASS						0x00000063
133#define NV10_SIFM_CLASS						0x00000089
134#define NV30_SIFM_CLASS						0x00000389
135#define NV40_SIFM_CLASS						0x00003089
136#define NV50_SIFM_CLASS						0x00005089
137#define NV03_SYFM_CLASS						0x00000038
138#define NV03_GDI_CLASS						0x0000004b
139#define NV04_GDI_CLASS						0x0000004a
140#define NV04_SURFACE_SWZ_CLASS					0x00000052
141#define NV20_SURFACE_SWZ_CLASS					0x0000009e
142#define NV30_SURFACE_SWZ_CLASS					0x0000039e
143#define NV40_SURFACE_SWZ_CLASS					0x0000309e
144#define NV03_SURFACE_DST_CLASS					0x00000058
145#define NV03_SURFACE_SRC_CLASS					0x00000059
146#define NV04_SURFACE_2D_CLASS					0x00000042
147#define NV10_SURFACE_2D_CLASS					0x00000062
148#define NV30_SURFACE_2D_CLASS					0x00000362
149#define NV40_SURFACE_2D_CLASS					0x00003062
150#define NV50_SURFACE_2D_CLASS					0x00005062
151#define NV04_INDEX_CLASS					0x00000060
152#define NV05_INDEX_CLASS					0x00000064
153#define NV30_INDEX_CLASS					0x00000364
154#define NV40_INDEX_CLASS					0x00003064
155#define NV10_TEXUPLOAD_CLASS					0x0000007b
156#define NV30_TEXUPLOAD_CLASS					0x0000037b
157#define NV40_TEXUPLOAD_CLASS					0x0000307b
158#define NV04_DVD_SUBPICTURE_CLASS				0x00000038
159#define NV10_DVD_SUBPICTURE_CLASS				0x00000088
160#define NV03_M2MF_CLASS						0x00000039
161#define NV50_M2MF_CLASS						0x00005039
162#define NVC0_M2MF_CLASS						0x00009039
163#define NV03_SURFACE_COLOR_CLASS				0x0000005a
164#define NV03_SURFACE_ZETA_CLASS					0x0000005b
165#define NV03_TEXTURED_TRIANGLE_CLASS				0x00000048
166#define NV04_TEXTURED_TRIANGLE_CLASS				0x00000054
167#define NV10_TEXTURED_TRIANGLE_CLASS				0x00000094
168#define NV04_SURFACE_3D_CLASS					0x00000053
169#define NV10_SURFACE_3D_CLASS					0x00000093
170#define NV04_MULTITEX_TRIANGLE_CLASS				0x00000055
171#define NV10_MULTITEX_TRIANGLE_CLASS				0x00000095
172#define NV10_3D_CLASS						0x00000056
173#define NV15_3D_CLASS						0x00000096
174#define NV11_3D_CLASS						0x00000098
175#define NV17_3D_CLASS						0x00000099
176#define NV20_3D_CLASS						0x00000097
177#define NV25_3D_CLASS						0x00000597
178#define NV30_3D_CLASS						0x00000397
179#define NV35_3D_CLASS						0x00000497
180#define NV34_3D_CLASS						0x00000697
181#define NV40_3D_CLASS						0x00004097
182#define NV44_3D_CLASS						0x00004497
183#define NV50_3D_CLASS						0x00005097
184#define NV84_3D_CLASS						0x00008297
185#define NVA0_3D_CLASS						0x00008397
186#define NVA3_3D_CLASS						0x00008597
187#define NVAF_3D_CLASS						0x00008697
188#define NVC0_3D_CLASS						0x00009097
189#define NVC1_3D_CLASS						0x00009197
190#define NVC8_3D_CLASS						0x00009297
191#define NVE4_3D_CLASS						0x0000a097
192#define NV50_2D_CLASS						0x0000502d
193#define NVC0_2D_CLASS						0x0000902d
194#define NV50_COMPUTE_CLASS					0x000050c0
195#define NVA3_COMPUTE_CLASS					0x000085c0
196#define NVC0_COMPUTE_CLASS					0x000090c0
197#define NVC8_COMPUTE_CLASS					0x000092c0
198#define NVE4_COMPUTE_CLASS					0x0000a0c0
199#define NV84_CRYPT_CLASS					0x000074c1
200#define BLOB_NVC0_PCOPY1_CLASS					0x000090b8
201#define BLOB_NVC0_PCOPY0_CLASS					0x000090b5
202#define NVE4_P2MF_CLASS						0x0000a040
203#define NV31_MPEG_CLASS						0x00003174
204#define NV84_MPEG_CLASS						0x00008274
205
206#define NV01_SUBCHAN__SIZE					0x00008000
207#define NV01_SUBCHAN						0x00000000
208
209#define NV01_SUBCHAN_OBJECT					0x00000000
210
211
212#define NV84_SUBCHAN_SEMAPHORE_ADDRESS_HIGH			0x00000010
213
214#define NV84_SUBCHAN_SEMAPHORE_ADDRESS_LOW			0x00000014
215
216#define NV84_SUBCHAN_SEMAPHORE_SEQUENCE				0x00000018
217
218#define NV84_SUBCHAN_SEMAPHORE_TRIGGER				0x0000001c
219#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACQUIRE_EQUAL		0x00000001
220#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_WRITE_LONG		0x00000002
221#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACQUIRE_GEQUAL		0x00000004
222
223#define NV84_SUBCHAN_NOTIFY_INTR				0x00000020
224
225#define NV84_SUBCHAN_WRCACHE_FLUSH				0x00000024
226
227#define NV10_SUBCHAN_REF_CNT					0x00000050
228
229
230#define NV11_SUBCHAN_DMA_SEMAPHORE				0x00000060
231
232#define NV11_SUBCHAN_SEMAPHORE_OFFSET				0x00000064
233
234#define NV11_SUBCHAN_SEMAPHORE_ACQUIRE				0x00000068
235
236#define NV11_SUBCHAN_SEMAPHORE_RELEASE				0x0000006c
237
238#define NV40_SUBCHAN_YIELD					0x00000080
239
240#define NV01_GRAPH						0x00000000
241
242#define NV04_GRAPH_NOP						0x00000100
243
244#define NV04_GRAPH_NOTIFY					0x00000104
245#define NV04_GRAPH_NOTIFY_WRITE					0x00000000
246#define NV04_GRAPH_NOTIFY_WRITE_AND_AWAKEN			0x00000001
247
248#define NVC0_GRAPH_NOTIFY_ADDRESS_HIGH				0x00000104
249
250#define NVC0_GRAPH_NOTIFY_ADDRESS_LOW				0x00000108
251
252#define NVC0_GRAPH_NOTIFY					0x0000010c
253#define NVC0_GRAPH_NOTIFY_WRITE					0x00000000
254#define NVC0_GRAPH_NOTIFY_WRITE_AND_AWAKEN			0x00000001
255
256#define NV50_GRAPH_SERIALIZE					0x00000110
257
258#define NVC0_GRAPH_MACRO_UPLOAD_POS				0x00000114
259
260#define NVC0_GRAPH_MACRO_UPLOAD_DATA				0x00000118
261
262#define NVC0_GRAPH_MACRO_ID					0x0000011c
263
264#define NVC0_GRAPH_MACRO_POS					0x00000120
265
266#define NVA3_GRAPH_UNK0120					0x00000120
267
268#define NVA3_GRAPH_UNK0124					0x00000124
269
270#define NVC0_GRAPH_UNK0124					0x00000124
271
272#define NVC0_GRAPH_COND_ADDRESS_HIGH				0x00000130
273
274#define NVC0_GRAPH_COND_ADDRESS_LOW				0x00000134
275
276#define NVC0_GRAPH_COND_MODE					0x00000138
277#define NVC0_GRAPH_COND_MODE_NEVER				0x00000000
278#define NVC0_GRAPH_COND_MODE_ALWAYS				0x00000001
279#define NVC0_GRAPH_COND_MODE_RES_NON_ZERO			0x00000002
280#define NVC0_GRAPH_COND_MODE_EQUAL				0x00000003
281#define NVC0_GRAPH_COND_MODE_NOT_EQUAL				0x00000004
282
283#define NVC0_GRAPH_UNK013C					0x0000013c
284
285#define NV40_GRAPH_PM_TRIGGER					0x00000140
286
287#define NVC0_GRAPH_UNK0150					0x00000150
288
289#define NVC0_GRAPH_UNK0154					0x00000154
290
291#define NVC0_GRAPH_SCRATCH(i0)				       (0x00003400 + 0x4*(i0))
292#define NVC0_GRAPH_SCRATCH__ESIZE				0x00000004
293#define NVC0_GRAPH_SCRATCH__LEN					0x00000080
294
295#define NVC0_GRAPH_MACRO(i0)				       (0x00003800 + 0x8*(i0))
296#define NVC0_GRAPH_MACRO__ESIZE					0x00000008
297#define NVC0_GRAPH_MACRO__LEN					0x00000080
298
299#define NVC0_GRAPH_MACRO_PARAM(i0)			       (0x00003804 + 0x8*(i0))
300#define NVC0_GRAPH_MACRO_PARAM__ESIZE				0x00000008
301#define NVC0_GRAPH_MACRO_PARAM__LEN				0x00000080
302
303
304#endif /* RNNDB_NV_OBJECT_XML */
305