gallium: add basic support for ARB_sample_shading
[mesa.git] / src / gallium / drivers / nouveau / nv50 / nv50_2d.xml.h
1 #ifndef RNNDB_NV50_2D_XML
2 #define RNNDB_NV50_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 - rnndb/nv50_2d.xml ( 11113 bytes, from 2011-07-09 13:43:58)
12 - ./rnndb/copyright.xml ( 6452 bytes, from 2011-07-09 13:43:58)
13 - ./rnndb/nv_object.xml ( 12912 bytes, from 2012-07-12 09:41:09)
14 - ./rnndb/nvchipsets.xml ( 3736 bytes, from 2012-07-12 09:41:09)
15 - ./rnndb/nv_defs.xml ( 4437 bytes, from 2011-07-09 13:43:58)
16 - ./rnndb/nv50_defs.xml ( 5468 bytes, from 2011-07-09 13:43:58)
17
18 Copyright (C) 2006-2011 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)
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
79 #define NV50_2D_DMA_NOTIFY 0x00000180
80
81 #define NV50_2D_DMA_DST 0x00000184
82
83 #define NV50_2D_DMA_SRC 0x00000188
84
85 #define NV50_2D_DMA_COND 0x0000018c
86
87 #define NV50_2D_DST_FORMAT 0x00000200
88
89 #define NV50_2D_DST_LINEAR 0x00000204
90
91 #define NV50_2D_DST_TILE_MODE 0x00000208
92
93 #define NV50_2D_DST_DEPTH 0x0000020c
94
95 #define NV50_2D_DST_LAYER 0x00000210
96
97 #define NV50_2D_DST_PITCH 0x00000214
98
99 #define NV50_2D_DST_WIDTH 0x00000218
100
101 #define NV50_2D_DST_HEIGHT 0x0000021c
102
103 #define NV50_2D_DST_ADDRESS_HIGH 0x00000220
104
105 #define NV50_2D_DST_ADDRESS_LOW 0x00000224
106
107 #define NV50_2D_UNK228 0x00000228
108
109 #define NVC0_2D_UNK228 0x00000228
110
111 #define NV50_2D_SRC_FORMAT 0x00000230
112
113 #define NV50_2D_SRC_LINEAR 0x00000234
114
115 #define NV50_2D_SRC_TILE_MODE 0x00000238
116
117 #define NV50_2D_SRC_DEPTH 0x0000023c
118
119 #define NV50_2D_SRC_LAYER 0x00000240
120
121 #define NVC0_2D_UNK0240 0x00000240
122
123 #define NV50_2D_SRC_PITCH 0x00000244
124 #define NV50_2D_SRC_PITCH__MAX 0x00040000
125
126 #define NV50_2D_SRC_WIDTH 0x00000248
127 #define NV50_2D_SRC_WIDTH__MAX 0x00010000
128
129 #define NV50_2D_SRC_HEIGHT 0x0000024c
130 #define NV50_2D_SRC_HEIGHT__MAX 0x00010000
131
132 #define NV50_2D_SRC_ADDRESS_HIGH 0x00000250
133
134 #define NV50_2D_SRC_ADDRESS_LOW 0x00000254
135
136 #define NV50_2D_UNK258 0x00000258
137
138 #define NV50_2D_UNK260 0x00000260
139
140 #define NV50_2D_COND_ADDRESS_HIGH 0x00000264
141
142 #define NV50_2D_COND_ADDRESS_LOW 0x00000268
143
144 #define NV50_2D_COND_MODE 0x0000026c
145 #define NV50_2D_COND_MODE_NEVER 0x00000000
146 #define NV50_2D_COND_MODE_ALWAYS 0x00000001
147 #define NV50_2D_COND_MODE_RES_NON_ZERO 0x00000002
148 #define NV50_2D_COND_MODE_EQUAL 0x00000003
149 #define NV50_2D_COND_MODE_NOT_EQUAL 0x00000004
150
151 #define NV50_2D_CLIP_X 0x00000280
152
153 #define NV50_2D_CLIP_Y 0x00000284
154
155 #define NV50_2D_CLIP_W 0x00000288
156
157 #define NV50_2D_CLIP_H 0x0000028c
158
159 #define NV50_2D_CLIP_ENABLE 0x00000290
160
161 #define NV50_2D_COLOR_KEY_FORMAT 0x00000294
162 #define NV50_2D_COLOR_KEY_FORMAT_16BPP 0x00000000
163 #define NV50_2D_COLOR_KEY_FORMAT_15BPP 0x00000001
164 #define NV50_2D_COLOR_KEY_FORMAT_24BPP 0x00000002
165 #define NV50_2D_COLOR_KEY_FORMAT_30BPP 0x00000003
166 #define NV50_2D_COLOR_KEY_FORMAT_8BPP 0x00000004
167 #define NV50_2D_COLOR_KEY_FORMAT_16BPP2 0x00000005
168 #define NV50_2D_COLOR_KEY_FORMAT_32BPP 0x00000006
169
170 #define NV50_2D_COLOR_KEY 0x00000298
171
172 #define NV50_2D_COLOR_KEY_ENABLE 0x0000029c
173
174 #define NV50_2D_ROP 0x000002a0
175
176 #define NV50_2D_BETA1 0x000002a4
177 #define NV50_2D_BETA1_BETA1__MASK 0x7f800000
178 #define NV50_2D_BETA1_BETA1__SHIFT 23
179
180 #define NV50_2D_BETA4 0x000002a8
181 #define NV50_2D_BETA4_B__MASK 0x000000ff
182 #define NV50_2D_BETA4_B__SHIFT 0
183 #define NV50_2D_BETA4_G__MASK 0x0000ff00
184 #define NV50_2D_BETA4_G__SHIFT 8
185 #define NV50_2D_BETA4_R__MASK 0x00ff0000
186 #define NV50_2D_BETA4_R__SHIFT 16
187 #define NV50_2D_BETA4_A__MASK 0xff000000
188 #define NV50_2D_BETA4_A__SHIFT 24
189
190 #define NV50_2D_OPERATION 0x000002ac
191 #define NV50_2D_OPERATION_SRCCOPY_AND 0x00000000
192 #define NV50_2D_OPERATION_ROP_AND 0x00000001
193 #define NV50_2D_OPERATION_BLEND 0x00000002
194 #define NV50_2D_OPERATION_SRCCOPY 0x00000003
195 #define NV50_2D_OPERATION_ROP 0x00000004
196 #define NV50_2D_OPERATION_SRCCOPY_PREMULT 0x00000005
197 #define NV50_2D_OPERATION_BLEND_PREMULT 0x00000006
198
199 #define NV50_2D_PATTERN_OFFSET 0x000002b0
200 #define NV50_2D_PATTERN_OFFSET_X__MASK 0x0000003f
201 #define NV50_2D_PATTERN_OFFSET_X__SHIFT 0
202 #define NV50_2D_PATTERN_OFFSET_Y__MASK 0x00003f00
203 #define NV50_2D_PATTERN_OFFSET_Y__SHIFT 8
204
205 #define NV50_2D_PATTERN_SELECT 0x000002b4
206 #define NV50_2D_PATTERN_SELECT_MONO_8X8 0x00000000
207 #define NV50_2D_PATTERN_SELECT_MONO_64X1 0x00000001
208 #define NV50_2D_PATTERN_SELECT_MONO_1X64 0x00000002
209 #define NV50_2D_PATTERN_SELECT_COLOR 0x00000003
210
211 #define NVC0_2D_UNK2DC 0x000002dc
212
213 #define NVC0_2D_UNK2E0 0x000002e0
214
215 #define NV50_2D_PATTERN_COLOR_FORMAT 0x000002e8
216 #define NV50_2D_PATTERN_COLOR_FORMAT_16BPP 0x00000000
217 #define NV50_2D_PATTERN_COLOR_FORMAT_15BPP 0x00000001
218 #define NV50_2D_PATTERN_COLOR_FORMAT_32BPP 0x00000002
219 #define NV50_2D_PATTERN_COLOR_FORMAT_8BPP 0x00000003
220 #define NV50_2D_PATTERN_COLOR_FORMAT_UNK4 0x00000004
221 #define NV50_2D_PATTERN_COLOR_FORMAT_UNK5 0x00000005
222 #define NV50_2D_PATTERN_COLOR_FORMAT_UNK6 0x00000006
223
224 #define NV50_2D_PATTERN_MONO_FORMAT 0x000002ec
225 #define NV50_2D_PATTERN_MONO_FORMAT_CGA6 0x00000000
226 #define NV50_2D_PATTERN_MONO_FORMAT_LE 0x00000001
227
228 #define NV50_2D_PATTERN_COLOR(i0) (0x000002f0 + 0x4*(i0))
229 #define NV50_2D_PATTERN_COLOR__ESIZE 0x00000004
230 #define NV50_2D_PATTERN_COLOR__LEN 0x00000002
231
232 #define NV50_2D_PATTERN_BITMAP(i0) (0x000002f8 + 0x4*(i0))
233 #define NV50_2D_PATTERN_BITMAP__ESIZE 0x00000004
234 #define NV50_2D_PATTERN_BITMAP__LEN 0x00000002
235
236 #define NV50_2D_PATTERN_X8R8G8B8(i0) (0x00000300 + 0x4*(i0))
237 #define NV50_2D_PATTERN_X8R8G8B8__ESIZE 0x00000004
238 #define NV50_2D_PATTERN_X8R8G8B8__LEN 0x00000040
239 #define NV50_2D_PATTERN_X8R8G8B8_B__MASK 0x000000ff
240 #define NV50_2D_PATTERN_X8R8G8B8_B__SHIFT 0
241 #define NV50_2D_PATTERN_X8R8G8B8_G__MASK 0x0000ff00
242 #define NV50_2D_PATTERN_X8R8G8B8_G__SHIFT 8
243 #define NV50_2D_PATTERN_X8R8G8B8_R__MASK 0x00ff0000
244 #define NV50_2D_PATTERN_X8R8G8B8_R__SHIFT 16
245
246 #define NV50_2D_PATTERN_R5G6B5(i0) (0x00000400 + 0x4*(i0))
247 #define NV50_2D_PATTERN_R5G6B5__ESIZE 0x00000004
248 #define NV50_2D_PATTERN_R5G6B5__LEN 0x00000020
249 #define NV50_2D_PATTERN_R5G6B5_B0__MASK 0x0000001f
250 #define NV50_2D_PATTERN_R5G6B5_B0__SHIFT 0
251 #define NV50_2D_PATTERN_R5G6B5_G0__MASK 0x000007e0
252 #define NV50_2D_PATTERN_R5G6B5_G0__SHIFT 5
253 #define NV50_2D_PATTERN_R5G6B5_R0__MASK 0x0000f800
254 #define NV50_2D_PATTERN_R5G6B5_R0__SHIFT 11
255 #define NV50_2D_PATTERN_R5G6B5_B1__MASK 0x001f0000
256 #define NV50_2D_PATTERN_R5G6B5_B1__SHIFT 16
257 #define NV50_2D_PATTERN_R5G6B5_G1__MASK 0x07e00000
258 #define NV50_2D_PATTERN_R5G6B5_G1__SHIFT 21
259 #define NV50_2D_PATTERN_R5G6B5_R1__MASK 0xf8000000
260 #define NV50_2D_PATTERN_R5G6B5_R1__SHIFT 27
261
262 #define NV50_2D_PATTERN_X1R5G5B5(i0) (0x00000480 + 0x4*(i0))
263 #define NV50_2D_PATTERN_X1R5G5B5__ESIZE 0x00000004
264 #define NV50_2D_PATTERN_X1R5G5B5__LEN 0x00000020
265 #define NV50_2D_PATTERN_X1R5G5B5_B0__MASK 0x0000001f
266 #define NV50_2D_PATTERN_X1R5G5B5_B0__SHIFT 0
267 #define NV50_2D_PATTERN_X1R5G5B5_G0__MASK 0x000003e0
268 #define NV50_2D_PATTERN_X1R5G5B5_G0__SHIFT 5
269 #define NV50_2D_PATTERN_X1R5G5B5_R0__MASK 0x00007c00
270 #define NV50_2D_PATTERN_X1R5G5B5_R0__SHIFT 10
271 #define NV50_2D_PATTERN_X1R5G5B5_B1__MASK 0x001f0000
272 #define NV50_2D_PATTERN_X1R5G5B5_B1__SHIFT 16
273 #define NV50_2D_PATTERN_X1R5G5B5_G1__MASK 0x03e00000
274 #define NV50_2D_PATTERN_X1R5G5B5_G1__SHIFT 21
275 #define NV50_2D_PATTERN_X1R5G5B5_R1__MASK 0x7c000000
276 #define NV50_2D_PATTERN_X1R5G5B5_R1__SHIFT 26
277
278 #define NV50_2D_PATTERN_Y8(i0) (0x00000500 + 0x4*(i0))
279 #define NV50_2D_PATTERN_Y8__ESIZE 0x00000004
280 #define NV50_2D_PATTERN_Y8__LEN 0x00000010
281 #define NV50_2D_PATTERN_Y8_Y0__MASK 0x000000ff
282 #define NV50_2D_PATTERN_Y8_Y0__SHIFT 0
283 #define NV50_2D_PATTERN_Y8_Y1__MASK 0x0000ff00
284 #define NV50_2D_PATTERN_Y8_Y1__SHIFT 8
285 #define NV50_2D_PATTERN_Y8_Y2__MASK 0x00ff0000
286 #define NV50_2D_PATTERN_Y8_Y2__SHIFT 16
287 #define NV50_2D_PATTERN_Y8_Y3__MASK 0xff000000
288 #define NV50_2D_PATTERN_Y8_Y3__SHIFT 24
289
290 #define NVC0_2D_DRAW_COLOR_LONG(i0) (0x00000540 + 0x4*(i0))
291 #define NVC0_2D_DRAW_COLOR_LONG__ESIZE 0x00000004
292 #define NVC0_2D_DRAW_COLOR_LONG__LEN 0x00000004
293
294 #define NV50_2D_DRAW_SHAPE 0x00000580
295 #define NV50_2D_DRAW_SHAPE_POINTS 0x00000000
296 #define NV50_2D_DRAW_SHAPE_LINES 0x00000001
297 #define NV50_2D_DRAW_SHAPE_LINE_STRIP 0x00000002
298 #define NV50_2D_DRAW_SHAPE_TRIANGLES 0x00000003
299 #define NV50_2D_DRAW_SHAPE_RECTANGLES 0x00000004
300
301 #define NV50_2D_DRAW_COLOR_FORMAT 0x00000584
302
303 #define NV50_2D_DRAW_COLOR 0x00000588
304
305 #define NV50_2D_UNK58C 0x0000058c
306 #define NV50_2D_UNK58C_0 0x00000001
307 #define NV50_2D_UNK58C_1 0x00000010
308 #define NV50_2D_UNK58C_2 0x00000100
309 #define NV50_2D_UNK58C_3 0x00001000
310
311 #define NV50_2D_DRAW_POINT16 0x000005e0
312 #define NV50_2D_DRAW_POINT16_X__MASK 0x0000ffff
313 #define NV50_2D_DRAW_POINT16_X__SHIFT 0
314 #define NV50_2D_DRAW_POINT16_Y__MASK 0xffff0000
315 #define NV50_2D_DRAW_POINT16_Y__SHIFT 16
316
317 #define NV50_2D_DRAW_POINT32_X(i0) (0x00000600 + 0x8*(i0))
318 #define NV50_2D_DRAW_POINT32_X__ESIZE 0x00000008
319 #define NV50_2D_DRAW_POINT32_X__LEN 0x00000040
320
321 #define NV50_2D_DRAW_POINT32_Y(i0) (0x00000604 + 0x8*(i0))
322 #define NV50_2D_DRAW_POINT32_Y__ESIZE 0x00000008
323 #define NV50_2D_DRAW_POINT32_Y__LEN 0x00000040
324
325 #define NV50_2D_SIFC_BITMAP_ENABLE 0x00000800
326
327 #define NV50_2D_SIFC_FORMAT 0x00000804
328
329 #define NV50_2D_SIFC_BITMAP_FORMAT 0x00000808
330 #define NV50_2D_SIFC_BITMAP_FORMAT_I1 0x00000000
331 #define NV50_2D_SIFC_BITMAP_FORMAT_I4 0x00000001
332 #define NV50_2D_SIFC_BITMAP_FORMAT_I8 0x00000002
333
334 #define NV50_2D_SIFC_BITMAP_LSB_FIRST 0x0000080c
335
336 #define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE 0x00000810
337 #define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED 0x00000000
338 #define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE 0x00000001
339 #define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD 0x00000002
340
341 #define NV50_2D_SIFC_BITMAP_COLOR_BIT0 0x00000814
342
343 #define NV50_2D_SIFC_BITMAP_COLOR_BIT1 0x00000818
344
345 #define NV50_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE 0x0000081c
346
347 #define NV50_2D_SIFC_WIDTH 0x00000838
348
349 #define NV50_2D_SIFC_HEIGHT 0x0000083c
350
351 #define NV50_2D_SIFC_DX_DU_FRACT 0x00000840
352
353 #define NV50_2D_SIFC_DX_DU_INT 0x00000844
354
355 #define NV50_2D_SIFC_DY_DV_FRACT 0x00000848
356
357 #define NV50_2D_SIFC_DY_DV_INT 0x0000084c
358
359 #define NV50_2D_SIFC_DST_X_FRACT 0x00000850
360
361 #define NV50_2D_SIFC_DST_X_INT 0x00000854
362
363 #define NV50_2D_SIFC_DST_Y_FRACT 0x00000858
364
365 #define NV50_2D_SIFC_DST_Y_INT 0x0000085c
366
367 #define NV50_2D_SIFC_DATA 0x00000860
368
369 #define NV50_2D_UNK0870 0x00000870
370
371 #define NV50_2D_UNK0880 0x00000880
372
373 #define NV50_2D_UNK0884 0x00000884
374
375 #define NV50_2D_UNK0888 0x00000888
376
377 #define NV50_2D_BLIT_CONTROL 0x0000088c
378 #define NV50_2D_BLIT_CONTROL_ORIGIN__MASK 0x00000001
379 #define NV50_2D_BLIT_CONTROL_ORIGIN__SHIFT 0
380 #define NV50_2D_BLIT_CONTROL_ORIGIN_CENTER 0x00000000
381 #define NV50_2D_BLIT_CONTROL_ORIGIN_CORNER 0x00000001
382 #define NV50_2D_BLIT_CONTROL_FILTER__MASK 0x00000010
383 #define NV50_2D_BLIT_CONTROL_FILTER__SHIFT 4
384 #define NV50_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE 0x00000000
385 #define NV50_2D_BLIT_CONTROL_FILTER_BILINEAR 0x00000010
386
387 #define NV50_2D_BLIT_DST_X 0x000008b0
388
389 #define NV50_2D_BLIT_DST_Y 0x000008b4
390
391 #define NV50_2D_BLIT_DST_W 0x000008b8
392
393 #define NV50_2D_BLIT_DST_H 0x000008bc
394
395 #define NV50_2D_BLIT_DU_DX_FRACT 0x000008c0
396
397 #define NV50_2D_BLIT_DU_DX_INT 0x000008c4
398
399 #define NV50_2D_BLIT_DV_DY_FRACT 0x000008c8
400
401 #define NV50_2D_BLIT_DV_DY_INT 0x000008cc
402
403 #define NV50_2D_BLIT_SRC_X_FRACT 0x000008d0
404
405 #define NV50_2D_BLIT_SRC_X_INT 0x000008d4
406
407 #define NV50_2D_BLIT_SRC_Y_FRACT 0x000008d8
408
409 #define NV50_2D_BLIT_SRC_Y_INT 0x000008dc
410
411 #define NVC0_2D_FIRMWARE(i0) (0x000008e0 + 0x4*(i0))
412 #define NVC0_2D_FIRMWARE__ESIZE 0x00000004
413 #define NVC0_2D_FIRMWARE__LEN 0x00000020
414
415
416 #endif /* RNNDB_NV50_2D_XML */