nvc0: allow to use compute support on GM200
[mesa.git] / src / gallium / drivers / nouveau / nv_object.xml.h
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
11 This file was generated by the rules-ng-ng headergen tool in this git repository:
12 http://0x04.net/cgit/index.cgi/rules-ng-ng
13 git clone git://0x04.net/rules-ng-ng
14
15 The 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
22 Copyright (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
59 Permission is hereby granted, free of charge, to any person obtaining
60 a copy of this software and associated documentation files (the
61 "Software"), to deal in the Software without restriction, including
62 without limitation the rights to use, copy, modify, merge, publish,
63 distribute, sublicense, and/or sell copies of the Software, and to
64 permit persons to whom the Software is furnished to do so, subject to
65 the following conditions:
66
67 The above copyright notice and this permission notice (including the
68 next paragraph) shall be included in all copies or substantial
69 portions of the Software.
70
71 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
72 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
73 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
74 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
75 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
76 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
77 WITH 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 NVF0_3D_CLASS 0x0000a197
193 #define NVEA_3D_CLASS 0x0000a297
194 #define GM107_3D_CLASS 0x0000b097
195 #define GM200_3D_CLASS 0x0000b197
196 #define NV50_2D_CLASS 0x0000502d
197 #define NVC0_2D_CLASS 0x0000902d
198 #define NV50_COMPUTE_CLASS 0x000050c0
199 #define NVA3_COMPUTE_CLASS 0x000085c0
200 #define NVC0_COMPUTE_CLASS 0x000090c0
201 #define NVC8_COMPUTE_CLASS 0x000092c0
202 #define NVE4_COMPUTE_CLASS 0x0000a0c0
203 #define NVF0_COMPUTE_CLASS 0x0000a1c0
204 #define GM107_COMPUTE_CLASS 0x0000b0c0
205 #define GM200_COMPUTE_CLASS 0x0000b1c0
206 #define NV84_CRYPT_CLASS 0x000074c1
207 #define BLOB_NVC0_PCOPY1_CLASS 0x000090b8
208 #define BLOB_NVC0_PCOPY0_CLASS 0x000090b5
209 #define NVE4_P2MF_CLASS 0x0000a040
210 #define NVF0_P2MF_CLASS 0x0000a140
211 #define NV31_MPEG_CLASS 0x00003174
212 #define NV84_MPEG_CLASS 0x00008274
213
214 #define NV01_SUBCHAN__SIZE 0x00008000
215 #define NV01_SUBCHAN 0x00000000
216
217 #define NV01_SUBCHAN_OBJECT 0x00000000
218
219
220 #define NV84_SUBCHAN_SEMAPHORE_ADDRESS_HIGH 0x00000010
221
222 #define NV84_SUBCHAN_SEMAPHORE_ADDRESS_LOW 0x00000014
223
224 #define NV84_SUBCHAN_SEMAPHORE_SEQUENCE 0x00000018
225
226 #define NV84_SUBCHAN_SEMAPHORE_TRIGGER 0x0000001c
227 #define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACQUIRE_EQUAL 0x00000001
228 #define NV84_SUBCHAN_SEMAPHORE_TRIGGER_WRITE_LONG 0x00000002
229 #define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACQUIRE_GEQUAL 0x00000004
230
231 #define NV84_SUBCHAN_NOTIFY_INTR 0x00000020
232
233 #define NV84_SUBCHAN_WRCACHE_FLUSH 0x00000024
234
235 #define NV10_SUBCHAN_REF_CNT 0x00000050
236
237
238 #define NV11_SUBCHAN_DMA_SEMAPHORE 0x00000060
239
240 #define NV11_SUBCHAN_SEMAPHORE_OFFSET 0x00000064
241
242 #define NV11_SUBCHAN_SEMAPHORE_ACQUIRE 0x00000068
243
244 #define NV11_SUBCHAN_SEMAPHORE_RELEASE 0x0000006c
245
246 #define NV40_SUBCHAN_YIELD 0x00000080
247
248 #define NV01_GRAPH 0x00000000
249
250 #define NV04_GRAPH_NOP 0x00000100
251
252 #define NV04_GRAPH_NOTIFY 0x00000104
253 #define NV04_GRAPH_NOTIFY_WRITE 0x00000000
254 #define NV04_GRAPH_NOTIFY_WRITE_AND_AWAKEN 0x00000001
255
256 #define NVC0_GRAPH_NOTIFY_ADDRESS_HIGH 0x00000104
257
258 #define NVC0_GRAPH_NOTIFY_ADDRESS_LOW 0x00000108
259
260 #define NVC0_GRAPH_NOTIFY 0x0000010c
261 #define NVC0_GRAPH_NOTIFY_WRITE 0x00000000
262 #define NVC0_GRAPH_NOTIFY_WRITE_AND_AWAKEN 0x00000001
263
264 #define NV50_GRAPH_SERIALIZE 0x00000110
265
266 #define NVC0_GRAPH_MACRO_UPLOAD_POS 0x00000114
267
268 #define NVC0_GRAPH_MACRO_UPLOAD_DATA 0x00000118
269
270 #define NVC0_GRAPH_MACRO_ID 0x0000011c
271
272 #define NVC0_GRAPH_MACRO_POS 0x00000120
273
274 #define NVA3_GRAPH_UNK0120 0x00000120
275
276 #define NVA3_GRAPH_UNK0124 0x00000124
277
278 #define NVC0_GRAPH_UNK0124 0x00000124
279
280 #define NVC0_GRAPH_COND_ADDRESS_HIGH 0x00000130
281
282 #define NVC0_GRAPH_COND_ADDRESS_LOW 0x00000134
283
284 #define NVC0_GRAPH_COND_MODE 0x00000138
285 #define NVC0_GRAPH_COND_MODE_NEVER 0x00000000
286 #define NVC0_GRAPH_COND_MODE_ALWAYS 0x00000001
287 #define NVC0_GRAPH_COND_MODE_RES_NON_ZERO 0x00000002
288 #define NVC0_GRAPH_COND_MODE_EQUAL 0x00000003
289 #define NVC0_GRAPH_COND_MODE_NOT_EQUAL 0x00000004
290
291 #define NVC0_GRAPH_UNK013C 0x0000013c
292
293 #define NV40_GRAPH_PM_TRIGGER 0x00000140
294
295 #define NVC0_GRAPH_UNK0150 0x00000150
296
297 #define NVC0_GRAPH_UNK0154 0x00000154
298
299 #define NVC0_GRAPH_SCRATCH(i0) (0x00003400 + 0x4*(i0))
300 #define NVC0_GRAPH_SCRATCH__ESIZE 0x00000004
301 #define NVC0_GRAPH_SCRATCH__LEN 0x00000080
302
303 #define NVC0_GRAPH_MACRO(i0) (0x00003800 + 0x8*(i0))
304 #define NVC0_GRAPH_MACRO__ESIZE 0x00000008
305 #define NVC0_GRAPH_MACRO__LEN 0x00000080
306
307 #define NVC0_GRAPH_MACRO_PARAM(i0) (0x00003804 + 0x8*(i0))
308 #define NVC0_GRAPH_MACRO_PARAM__ESIZE 0x00000008
309 #define NVC0_GRAPH_MACRO_PARAM__LEN 0x00000080
310
311
312 #endif /* RNNDB_NV_OBJECT_XML */