1 #ifndef NVC0_2D_XML
2 #define NVC0_2D_XML
3 
4 /* Autogenerated file, DO NOT EDIT manually!
5 
6 This file was generated by the rules-ng-ng headergen tool in this git repository:
7 http://0x04.net/cgit/index.cgi/rules-ng-ng
8 git clone git://0x04.net/rules-ng-ng
9 
10 The rules-ng-ng source files this header was generated from are:
11 - nvc0_2d.xml    (   9454 bytes, from 2010-10-16 16:03:11)
12 - copyright.xml  (   6498 bytes, from 2010-10-03 13:18:37)
13 - nv_object.xml  (  11379 bytes, from 2010-10-16 11:43:24)
14 - nvchipsets.xml (   2907 bytes, from 2010-10-15 16:28:21)
15 - nv_defs.xml    (   4437 bytes, from 2010-07-06 07:43:58)
16 - nv50_defs.xml  (   4482 bytes, from 2010-10-03 13:18:37)
17 
18 Copyright (C) 2006-2010 by the following authors:
19 - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
20 - Ben Skeggs (darktama, darktama_)
21 - B. R. <koala_br@users.sourceforge.net> (koala_br)
22 - Carlos Martin <carlosmn@users.sf.net> (carlosmn)
23 - Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
24 - Dawid Gajownik <gajownik@users.sf.net> (gajownik)
25 - Dmitry Baryshkov
26 - Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
27 - EdB <edb_@users.sf.net> (edb_)
28 - Erik Waling <erikwailing@users.sf.net> (erikwaling)
29 - Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez)
30 - imirkin <imirkin@users.sf.net> (imirkin)
31 - jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
32 - Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
33 - Laurent Carlier <lordheavym@gmail.com> (lordheavy)
34 - Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
35 - Maarten Maathuis <madman2003@gmail.com> (stillunknown)
36 - Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
37 - Mark Carey <mark.carey@gmail.com> (careym)
38 - Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
39 - nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
40 - Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
41 - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
42 - Peter Popov <ironpeter@users.sf.net> (ironpeter)
43 - Richard Hughes <hughsient@users.sf.net> (hughsient)
44 - Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
45 - Serge Martin
46 - Simon Raffeiner
47 - Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
48 - Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
49 - sturmflut <sturmflut@users.sf.net> (sturmflut)
50 - Sylvain Munaut <tnt@246tNt.com>
51 - Victor Stinner <victor.stinner@haypocalc.com> (haypo)
52 - Wladmir van der Laan <laanwj@gmail.com> (miathan6)
53 - Younes Manton <younes.m@gmail.com> (ymanton)
54 
55 Permission is hereby granted, free of charge, to any person obtaining
56 a copy of this software and associated documentation files (the
57 "Software"), to deal in the Software without restriction, including
58 without limitation the rights to use, copy, modify, merge, publish,
59 distribute, sublicense, and/or sell copies of the Software, and to
60 permit persons to whom the Software is furnished to do so, subject to
61 the following conditions:
62 
63 The above copyright notice and this permission notice (including the
64 next paragraph) shall be included in all copies or substantial
65 portions of the Software.
66 
67 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
68 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
69 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
70 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
71 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
72 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
73 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
74 */
75 
76 
77 
78 #define NVC0_2D_DST_FORMAT					0x00000200
79 
80 #define NVC0_2D_DST_LINEAR					0x00000204
81 
82 #define NVC0_2D_DST_TILE_MODE					0x00000208
83 
84 #define NVC0_2D_DST_DEPTH					0x0000020c
85 
86 #define NVC0_2D_DST_LAYER					0x00000210
87 
88 #define NVC0_2D_DST_PITCH					0x00000214
89 
90 #define NVC0_2D_DST_WIDTH					0x00000218
91 
92 #define NVC0_2D_DST_HEIGHT					0x0000021c
93 
94 #define NVC0_2D_DST_ADDRESS_HIGH				0x00000220
95 
96 #define NVC0_2D_DST_ADDRESS_LOW					0x00000224
97 
98 #define NVC0_2D_UNK228						0x00000228
99 
100 #define NVC0_2D_SRC_FORMAT					0x00000230
101 
102 #define NVC0_2D_SRC_LINEAR					0x00000234
103 
104 #define NVC0_2D_SRC_TILE_MODE					0x00000238
105 
106 #define NVC0_2D_SRC_DEPTH					0x0000023c
107 
108 #define NVC0_2D_SRC_LAYER					0x00000240
109 
110 #define NVC0_2D_SRC_PITCH					0x00000244
111 #define NVC0_2D_SRC_PITCH__MAX					0x00040000
112 
113 #define NVC0_2D_SRC_WIDTH					0x00000248
114 #define NVC0_2D_SRC_WIDTH__MAX					0x00010000
115 
116 #define NVC0_2D_SRC_HEIGHT					0x0000024c
117 #define NVC0_2D_SRC_HEIGHT__MAX					0x00010000
118 
119 #define NVC0_2D_SRC_ADDRESS_HIGH				0x00000250
120 
121 #define NVC0_2D_SRC_ADDRESS_LOW					0x00000254
122 
123 #define NVC0_2D_UNK258						0x00000258
124 
125 #define NVC0_2D_UNK260						0x00000260
126 
127 #define NVC0_2D_COND_ADDRESS_HIGH				0x00000264
128 
129 #define NVC0_2D_COND_ADDRESS_LOW				0x00000268
130 
131 #define NVC0_2D_COND_MODE					0x0000026c
132 #define NVC0_2D_COND_MODE_NEVER					0x00000000
133 #define NVC0_2D_COND_MODE_ALWAYS				0x00000001
134 #define NVC0_2D_COND_MODE_RES_NON_ZERO				0x00000002
135 #define NVC0_2D_COND_MODE_EQUAL					0x00000003
136 #define NVC0_2D_COND_MODE_NOT_EQUAL				0x00000004
137 
138 #define NVC0_2D_CLIP_X						0x00000280
139 
140 #define NVC0_2D_CLIP_Y						0x00000284
141 
142 #define NVC0_2D_CLIP_W						0x00000288
143 
144 #define NVC0_2D_CLIP_H						0x0000028c
145 
146 #define NVC0_2D_CLIP_ENABLE					0x00000290
147 
148 #define NVC0_2D_COLOR_KEY_FORMAT				0x00000294
149 #define NVC0_2D_COLOR_KEY_FORMAT_16BPP				0x00000000
150 #define NVC0_2D_COLOR_KEY_FORMAT_15BPP				0x00000001
151 #define NVC0_2D_COLOR_KEY_FORMAT_24BPP				0x00000002
152 #define NVC0_2D_COLOR_KEY_FORMAT_30BPP				0x00000003
153 #define NVC0_2D_COLOR_KEY_FORMAT_8BPP				0x00000004
154 #define NVC0_2D_COLOR_KEY_FORMAT_16BPP2				0x00000005
155 #define NVC0_2D_COLOR_KEY_FORMAT_32BPP				0x00000006
156 
157 #define NVC0_2D_COLOR_KEY					0x00000298
158 
159 #define NVC0_2D_COLOR_KEY_ENABLE				0x0000029c
160 
161 #define NVC0_2D_ROP						0x000002a0
162 
163 #define NVC0_2D_BETA1						0x000002a4
164 
165 #define NVC0_2D_BETA4						0x000002a8
166 
167 #define NVC0_2D_OPERATION					0x000002ac
168 #define NVC0_2D_OPERATION_SRCCOPY_AND				0x00000000
169 #define NVC0_2D_OPERATION_ROP_AND				0x00000001
170 #define NVC0_2D_OPERATION_BLEND_AND				0x00000002
171 #define NVC0_2D_OPERATION_SRCCOPY				0x00000003
172 #define NVC0_2D_OPERATION_UNK4					0x00000004
173 #define NVC0_2D_OPERATION_SRCCOPY_PREMULT			0x00000005
174 #define NVC0_2D_OPERATION_BLEND_PREMULT				0x00000006
175 
176 #define NVC0_2D_UNK2B0						0x000002b0
177 #define NVC0_2D_UNK2B0_UNK0__MASK				0x0000003f
178 #define NVC0_2D_UNK2B0_UNK0__SHIFT				0
179 #define NVC0_2D_UNK2B0_UNK1__MASK				0x00003f00
180 #define NVC0_2D_UNK2B0_UNK1__SHIFT				8
181 
182 #define NVC0_2D_PATTERN_SELECT					0x000002b4
183 #define NVC0_2D_PATTERN_SELECT_MONO_8X8				0x00000000
184 #define NVC0_2D_PATTERN_SELECT_MONO_64X1			0x00000001
185 #define NVC0_2D_PATTERN_SELECT_MONO_1X64			0x00000002
186 #define NVC0_2D_PATTERN_SELECT_COLOR				0x00000003
187 
188 #define NVC0_2D_PATTERN_COLOR_FORMAT				0x000002e8
189 #define NVC0_2D_PATTERN_COLOR_FORMAT_16BPP			0x00000000
190 #define NVC0_2D_PATTERN_COLOR_FORMAT_15BPP			0x00000001
191 #define NVC0_2D_PATTERN_COLOR_FORMAT_32BPP			0x00000002
192 #define NVC0_2D_PATTERN_COLOR_FORMAT_8BPP			0x00000003
193 #define NVC0_2D_PATTERN_COLOR_FORMAT_UNK4			0x00000004
194 #define NVC0_2D_PATTERN_COLOR_FORMAT_UNK5			0x00000005
195 
196 #define NVC0_2D_PATTERN_MONO_FORMAT				0x000002ec
197 #define NVC0_2D_PATTERN_MONO_FORMAT_CGA6			0x00000000
198 #define NVC0_2D_PATTERN_MONO_FORMAT_LE				0x00000001
199 
200 #define NVC0_2D_PATTERN_COLOR(i0)			       (0x000002f0 + 0x4*(i0))
201 #define NVC0_2D_PATTERN_COLOR__ESIZE				0x00000004
202 #define NVC0_2D_PATTERN_COLOR__LEN				0x00000002
203 
204 #define NVC0_2D_PATTERN_BITMAP(i0)			       (0x000002f8 + 0x4*(i0))
205 #define NVC0_2D_PATTERN_BITMAP__ESIZE				0x00000004
206 #define NVC0_2D_PATTERN_BITMAP__LEN				0x00000002
207 
208 #define NVC0_2D_PATTERN_X8R8G8B8(i0)			       (0x00000300 + 0x4*(i0))
209 #define NVC0_2D_PATTERN_X8R8G8B8__ESIZE				0x00000004
210 #define NVC0_2D_PATTERN_X8R8G8B8__LEN				0x00000040
211 #define NVC0_2D_PATTERN_X8R8G8B8_B__MASK			0x000000ff
212 #define NVC0_2D_PATTERN_X8R8G8B8_B__SHIFT			0
213 #define NVC0_2D_PATTERN_X8R8G8B8_G__MASK			0x0000ff00
214 #define NVC0_2D_PATTERN_X8R8G8B8_G__SHIFT			8
215 #define NVC0_2D_PATTERN_X8R8G8B8_R__MASK			0x00ff0000
216 #define NVC0_2D_PATTERN_X8R8G8B8_R__SHIFT			16
217 
218 #define NVC0_2D_PATTERN_R5G6B5(i0)			       (0x00000400 + 0x4*(i0))
219 #define NVC0_2D_PATTERN_R5G6B5__ESIZE				0x00000004
220 #define NVC0_2D_PATTERN_R5G6B5__LEN				0x00000020
221 #define NVC0_2D_PATTERN_R5G6B5_B0__MASK				0x0000001f
222 #define NVC0_2D_PATTERN_R5G6B5_B0__SHIFT			0
223 #define NVC0_2D_PATTERN_R5G6B5_G0__MASK				0x000007e0
224 #define NVC0_2D_PATTERN_R5G6B5_G0__SHIFT			5
225 #define NVC0_2D_PATTERN_R5G6B5_R0__MASK				0x0000f800
226 #define NVC0_2D_PATTERN_R5G6B5_R0__SHIFT			11
227 #define NVC0_2D_PATTERN_R5G6B5_B1__MASK				0x001f0000
228 #define NVC0_2D_PATTERN_R5G6B5_B1__SHIFT			16
229 #define NVC0_2D_PATTERN_R5G6B5_G1__MASK				0x07e00000
230 #define NVC0_2D_PATTERN_R5G6B5_G1__SHIFT			21
231 #define NVC0_2D_PATTERN_R5G6B5_R1__MASK				0xf8000000
232 #define NVC0_2D_PATTERN_R5G6B5_R1__SHIFT			27
233 
234 #define NVC0_2D_PATTERN_X1R5G5B5(i0)			       (0x00000480 + 0x4*(i0))
235 #define NVC0_2D_PATTERN_X1R5G5B5__ESIZE				0x00000004
236 #define NVC0_2D_PATTERN_X1R5G5B5__LEN				0x00000020
237 #define NVC0_2D_PATTERN_X1R5G5B5_B0__MASK			0x0000001f
238 #define NVC0_2D_PATTERN_X1R5G5B5_B0__SHIFT			0
239 #define NVC0_2D_PATTERN_X1R5G5B5_G0__MASK			0x000003e0
240 #define NVC0_2D_PATTERN_X1R5G5B5_G0__SHIFT			5
241 #define NVC0_2D_PATTERN_X1R5G5B5_R0__MASK			0x00007c00
242 #define NVC0_2D_PATTERN_X1R5G5B5_R0__SHIFT			10
243 #define NVC0_2D_PATTERN_X1R5G5B5_B1__MASK			0x001f0000
244 #define NVC0_2D_PATTERN_X1R5G5B5_B1__SHIFT			16
245 #define NVC0_2D_PATTERN_X1R5G5B5_G1__MASK			0x03e00000
246 #define NVC0_2D_PATTERN_X1R5G5B5_G1__SHIFT			21
247 #define NVC0_2D_PATTERN_X1R5G5B5_R1__MASK			0x7c000000
248 #define NVC0_2D_PATTERN_X1R5G5B5_R1__SHIFT			26
249 
250 #define NVC0_2D_PATTERN_Y8(i0)				       (0x00000500 + 0x4*(i0))
251 #define NVC0_2D_PATTERN_Y8__ESIZE				0x00000004
252 #define NVC0_2D_PATTERN_Y8__LEN					0x00000010
253 #define NVC0_2D_PATTERN_Y8_Y0__MASK				0x000000ff
254 #define NVC0_2D_PATTERN_Y8_Y0__SHIFT				0
255 #define NVC0_2D_PATTERN_Y8_Y1__MASK				0x0000ff00
256 #define NVC0_2D_PATTERN_Y8_Y1__SHIFT				8
257 #define NVC0_2D_PATTERN_Y8_Y2__MASK				0x00ff0000
258 #define NVC0_2D_PATTERN_Y8_Y2__SHIFT				16
259 #define NVC0_2D_PATTERN_Y8_Y3__MASK				0xff000000
260 #define NVC0_2D_PATTERN_Y8_Y3__SHIFT				24
261 
262 #define NVC0_2D_DRAW_SHAPE					0x00000580
263 #define NVC0_2D_DRAW_SHAPE_POINTS				0x00000000
264 #define NVC0_2D_DRAW_SHAPE_LINES				0x00000001
265 #define NVC0_2D_DRAW_SHAPE_LINE_STRIP				0x00000002
266 #define NVC0_2D_DRAW_SHAPE_TRIANGLES				0x00000003
267 #define NVC0_2D_DRAW_SHAPE_RECTANGLES				0x00000004
268 
269 #define NVC0_2D_DRAW_COLOR_FORMAT				0x00000584
270 
271 #define NVC0_2D_DRAW_COLOR					0x00000588
272 
273 #define NVC0_2D_UNK58C						0x0000058c
274 #define NVC0_2D_UNK58C_0					0x00000001
275 #define NVC0_2D_UNK58C_1					0x00000010
276 #define NVC0_2D_UNK58C_2					0x00000100
277 #define NVC0_2D_UNK58C_3					0x00001000
278 
279 #define NVC0_2D_DRAW_POINT16					0x000005e0
280 #define NVC0_2D_DRAW_POINT16_X__MASK				0x0000ffff
281 #define NVC0_2D_DRAW_POINT16_X__SHIFT				0
282 #define NVC0_2D_DRAW_POINT16_Y__MASK				0xffff0000
283 #define NVC0_2D_DRAW_POINT16_Y__SHIFT				16
284 
285 #define NVC0_2D_DRAW_POINT32_X(i0)			       (0x00000600 + 0x8*(i0))
286 #define NVC0_2D_DRAW_POINT32_X__ESIZE				0x00000008
287 #define NVC0_2D_DRAW_POINT32_X__LEN				0x00000040
288 
289 #define NVC0_2D_DRAW_POINT32_Y(i0)			       (0x00000604 + 0x8*(i0))
290 #define NVC0_2D_DRAW_POINT32_Y__ESIZE				0x00000008
291 #define NVC0_2D_DRAW_POINT32_Y__LEN				0x00000040
292 
293 #define NVC0_2D_SIFC_BITMAP_ENABLE				0x00000800
294 
295 #define NVC0_2D_SIFC_FORMAT					0x00000804
296 
297 #define NVC0_2D_SIFC_BITMAP_FORMAT				0x00000808
298 #define NVC0_2D_SIFC_BITMAP_FORMAT_I1				0x00000000
299 #define NVC0_2D_SIFC_BITMAP_FORMAT_I4				0x00000001
300 #define NVC0_2D_SIFC_BITMAP_FORMAT_I8				0x00000002
301 
302 #define NVC0_2D_SIFC_BITMAP_LSB_FIRST				0x0000080c
303 
304 #define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE			0x00000810
305 #define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED		0x00000000
306 #define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE		0x00000001
307 #define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD		0x00000002
308 
309 #define NVC0_2D_SIFC_BITMAP_COLOR_BIT0				0x00000814
310 
311 #define NVC0_2D_SIFC_BITMAP_COLOR_BIT1				0x00000818
312 
313 #define NVC0_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE			0x0000081c
314 
315 #define NVC0_2D_SIFC_WIDTH					0x00000838
316 
317 #define NVC0_2D_SIFC_HEIGHT					0x0000083c
318 
319 #define NVC0_2D_SIFC_DX_DU_FRACT				0x00000840
320 
321 #define NVC0_2D_SIFC_DX_DU_INT					0x00000844
322 
323 #define NVC0_2D_SIFC_DY_DV_FRACT				0x00000848
324 
325 #define NVC0_2D_SIFC_DY_DV_INT					0x0000084c
326 
327 #define NVC0_2D_SIFC_DST_X_FRACT				0x00000850
328 
329 #define NVC0_2D_SIFC_DST_X_INT					0x00000854
330 
331 #define NVC0_2D_SIFC_DST_Y_FRACT				0x00000858
332 
333 #define NVC0_2D_SIFC_DST_Y_INT					0x0000085c
334 
335 #define NVC0_2D_SIFC_DATA					0x00000860
336 
337 #define NVC0_2D_UNK0870						0x00000870
338 
339 #define NVC0_2D_UNK0880						0x00000880
340 
341 #define NVC0_2D_UNK0884						0x00000884
342 
343 #define NVC0_2D_UNK0888						0x00000888
344 
345 #define NVC0_2D_BLIT_CONTROL					0x0000088c
346 #define NVC0_2D_BLIT_CONTROL_ORIGIN__MASK			0x00000001
347 #define NVC0_2D_BLIT_CONTROL_ORIGIN__SHIFT			0
348 #define NVC0_2D_BLIT_CONTROL_ORIGIN_CENTER			0x00000000
349 #define NVC0_2D_BLIT_CONTROL_ORIGIN_CORNER			0x00000001
350 #define NVC0_2D_BLIT_CONTROL_FILTER__MASK			0x00000010
351 #define NVC0_2D_BLIT_CONTROL_FILTER__SHIFT			4
352 #define NVC0_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE		0x00000000
353 #define NVC0_2D_BLIT_CONTROL_FILTER_BILINEAR			0x00000010
354 
355 #define NVC0_2D_BLIT_DST_X					0x000008b0
356 
357 #define NVC0_2D_BLIT_DST_Y					0x000008b4
358 
359 #define NVC0_2D_BLIT_DST_W					0x000008b8
360 
361 #define NVC0_2D_BLIT_DST_H					0x000008bc
362 
363 #define NVC0_2D_BLIT_DU_DX_FRACT				0x000008c0
364 
365 #define NVC0_2D_BLIT_DU_DX_INT					0x000008c4
366 
367 #define NVC0_2D_BLIT_DV_DY_FRACT				0x000008c8
368 
369 #define NVC0_2D_BLIT_DV_DY_INT					0x000008cc
370 
371 #define NVC0_2D_BLIT_SRC_X_FRACT				0x000008d0
372 
373 #define NVC0_2D_BLIT_SRC_X_INT					0x000008d4
374 
375 #define NVC0_2D_BLIT_SRC_Y_FRACT				0x000008d8
376 
377 #define NVC0_2D_BLIT_SRC_Y_INT					0x000008dc
378 
379 
380 #endif /* NVC0_2D_XML */
381