Home | History | Annotate | Download | only in nv50
      1 #ifndef NV50_2D_XML
      2 #define 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 - nv50_2d.xml    (   9799 bytes, from 2010-12-28 17:17:11)
     12 - copyright.xml  (   6452 bytes, from 2010-12-15 23:45:18)
     13 - nv_object.xml  (  11898 bytes, from 2010-12-28 17:17:11)
     14 - nvchipsets.xml (   3074 bytes, from 2010-12-15 23:45:18)
     15 - nv_defs.xml    (   4437 bytes, from 2010-12-15 23:45:18)
     16 - nv50_defs.xml  (   4487 bytes, from 2010-12-15 23:45:18)
     17 
     18 Copyright (C) 2006-2010 by the following authors:
     19 - Artur Huillet <arthur.huillet (at) free.fr> (ahuillet)
     20 - Ben Skeggs (darktama, darktama_)
     21 - B. R. <koala_br (at) users.sourceforge.net> (koala_br)
     22 - Carlos Martin <carlosmn (at) users.sf.net> (carlosmn)
     23 - Christoph Bumiller <e0425955 (at) student.tuwien.ac.at> (calim, chrisbmr)
     24 - Dawid Gajownik <gajownik (at) users.sf.net> (gajownik)
     25 - Dmitry Baryshkov
     26 - Dmitry Eremin-Solenikov <lumag (at) users.sf.net> (lumag)
     27 - EdB <edb_ (at) users.sf.net> (edb_)
     28 - Erik Waling <erikwailing (at) users.sf.net> (erikwaling)
     29 - Francisco Jerez <currojerez (at) riseup.net> (curro)
     30 - imirkin <imirkin (at) users.sf.net> (imirkin)
     31 - jb17bsome <jb17bsome (at) bellsouth.net> (jb17bsome)
     32 - Jeremy Kolb <kjeremy (at) users.sf.net> (kjeremy)
     33 - Laurent Carlier <lordheavym (at) gmail.com> (lordheavy)
     34 - Luca Barbieri <luca (at) luca-barbieri.com> (lb, lb1)
     35 - Maarten Maathuis <madman2003 (at) gmail.com> (stillunknown)
     36 - Marcin Kocielnicki <koriakin (at) 0x04.net> (mwk, koriakin)
     37 - Mark Carey <mark.carey (at) gmail.com> (careym)
     38 - Matthieu Castet <matthieu.castet (at) parrot.com> (mat-c)
     39 - nvidiaman <nvidiaman (at) users.sf.net> (nvidiaman)
     40 - Patrice Mandin <patmandin (at) gmail.com> (pmandin, pmdata)
     41 - Pekka Paalanen <pq (at) iki.fi> (pq, ppaalanen)
     42 - Peter Popov <ironpeter (at) users.sf.net> (ironpeter)
     43 - Richard Hughes <hughsient (at) users.sf.net> (hughsient)
     44 - Rudi Cilibrasi <cilibrar (at) users.sf.net> (cilibrar)
     45 - Serge Martin
     46 - Simon Raffeiner
     47 - Stephane Loeuillet <leroutier (at) users.sf.net> (leroutier)
     48 - Stephane Marchesin <stephane.marchesin (at) gmail.com> (marcheu)
     49 - sturmflut <sturmflut (at) users.sf.net> (sturmflut)
     50 - Sylvain Munaut <tnt (at) 246tNt.com>
     51 - Victor Stinner <victor.stinner (at) haypocalc.com> (haypo)
     52 - Wladmir van der Laan <laanwj (at) gmail.com> (miathan6)
     53 - Younes Manton <younes.m (at) 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 NV50_2D_SRC_FORMAT					0x00000230
    110 
    111 #define NV50_2D_SRC_LINEAR					0x00000234
    112 
    113 #define NV50_2D_SRC_TILE_MODE					0x00000238
    114 
    115 #define NV50_2D_SRC_DEPTH					0x0000023c
    116 
    117 #define NV50_2D_SRC_LAYER					0x00000240
    118 
    119 #define NV50_2D_SRC_PITCH					0x00000244
    120 #define NV50_2D_SRC_PITCH__MAX					0x00040000
    121 
    122 #define NV50_2D_SRC_WIDTH					0x00000248
    123 #define NV50_2D_SRC_WIDTH__MAX					0x00010000
    124 
    125 #define NV50_2D_SRC_HEIGHT					0x0000024c
    126 #define NV50_2D_SRC_HEIGHT__MAX					0x00010000
    127 
    128 #define NV50_2D_SRC_ADDRESS_HIGH				0x00000250
    129 
    130 #define NV50_2D_SRC_ADDRESS_LOW					0x00000254
    131 
    132 #define NV50_2D_UNK258						0x00000258
    133 
    134 #define NV50_2D_UNK260						0x00000260
    135 
    136 #define NV50_2D_COND_ADDRESS_HIGH				0x00000264
    137 
    138 #define NV50_2D_COND_ADDRESS_LOW				0x00000268
    139 
    140 #define NV50_2D_COND_MODE					0x0000026c
    141 #define NV50_2D_COND_MODE_NEVER					0x00000000
    142 #define NV50_2D_COND_MODE_ALWAYS				0x00000001
    143 #define NV50_2D_COND_MODE_RES_NON_ZERO				0x00000002
    144 #define NV50_2D_COND_MODE_EQUAL					0x00000003
    145 #define NV50_2D_COND_MODE_NOT_EQUAL				0x00000004
    146 
    147 #define NV50_2D_CLIP_X						0x00000280
    148 
    149 #define NV50_2D_CLIP_Y						0x00000284
    150 
    151 #define NV50_2D_CLIP_W						0x00000288
    152 
    153 #define NV50_2D_CLIP_H						0x0000028c
    154 
    155 #define NV50_2D_CLIP_ENABLE					0x00000290
    156 
    157 #define NV50_2D_COLOR_KEY_FORMAT				0x00000294
    158 #define NV50_2D_COLOR_KEY_FORMAT_16BPP				0x00000000
    159 #define NV50_2D_COLOR_KEY_FORMAT_15BPP				0x00000001
    160 #define NV50_2D_COLOR_KEY_FORMAT_24BPP				0x00000002
    161 #define NV50_2D_COLOR_KEY_FORMAT_30BPP				0x00000003
    162 #define NV50_2D_COLOR_KEY_FORMAT_8BPP				0x00000004
    163 #define NV50_2D_COLOR_KEY_FORMAT_16BPP2				0x00000005
    164 #define NV50_2D_COLOR_KEY_FORMAT_32BPP				0x00000006
    165 
    166 #define NV50_2D_COLOR_KEY					0x00000298
    167 
    168 #define NV50_2D_COLOR_KEY_ENABLE				0x0000029c
    169 
    170 #define NV50_2D_ROP						0x000002a0
    171 
    172 #define NV50_2D_BETA1						0x000002a4
    173 
    174 #define NV50_2D_BETA4						0x000002a8
    175 
    176 #define NV50_2D_OPERATION					0x000002ac
    177 #define NV50_2D_OPERATION_SRCCOPY_AND				0x00000000
    178 #define NV50_2D_OPERATION_ROP_AND				0x00000001
    179 #define NV50_2D_OPERATION_BLEND_AND				0x00000002
    180 #define NV50_2D_OPERATION_SRCCOPY				0x00000003
    181 #define NV50_2D_OPERATION_UNK4					0x00000004
    182 #define NV50_2D_OPERATION_SRCCOPY_PREMULT			0x00000005
    183 #define NV50_2D_OPERATION_BLEND_PREMULT				0x00000006
    184 
    185 #define NV50_2D_UNK2B0						0x000002b0
    186 #define NV50_2D_UNK2B0_UNK0__MASK				0x0000003f
    187 #define NV50_2D_UNK2B0_UNK0__SHIFT				0
    188 #define NV50_2D_UNK2B0_UNK1__MASK				0x00003f00
    189 #define NV50_2D_UNK2B0_UNK1__SHIFT				8
    190 
    191 #define NV50_2D_PATTERN_SELECT					0x000002b4
    192 #define NV50_2D_PATTERN_SELECT_MONO_8X8				0x00000000
    193 #define NV50_2D_PATTERN_SELECT_MONO_64X1			0x00000001
    194 #define NV50_2D_PATTERN_SELECT_MONO_1X64			0x00000002
    195 #define NV50_2D_PATTERN_SELECT_COLOR				0x00000003
    196 
    197 #define NV50_2D_PATTERN_COLOR_FORMAT				0x000002e8
    198 #define NV50_2D_PATTERN_COLOR_FORMAT_16BPP			0x00000000
    199 #define NV50_2D_PATTERN_COLOR_FORMAT_15BPP			0x00000001
    200 #define NV50_2D_PATTERN_COLOR_FORMAT_32BPP			0x00000002
    201 #define NV50_2D_PATTERN_COLOR_FORMAT_8BPP			0x00000003
    202 #define NV50_2D_PATTERN_COLOR_FORMAT_UNK4			0x00000004
    203 #define NV50_2D_PATTERN_COLOR_FORMAT_UNK5			0x00000005
    204 
    205 #define NV50_2D_PATTERN_MONO_FORMAT				0x000002ec
    206 #define NV50_2D_PATTERN_MONO_FORMAT_CGA6			0x00000000
    207 #define NV50_2D_PATTERN_MONO_FORMAT_LE				0x00000001
    208 
    209 #define NV50_2D_PATTERN_COLOR(i0)			       (0x000002f0 + 0x4*(i0))
    210 #define NV50_2D_PATTERN_COLOR__ESIZE				0x00000004
    211 #define NV50_2D_PATTERN_COLOR__LEN				0x00000002
    212 
    213 #define NV50_2D_PATTERN_BITMAP(i0)			       (0x000002f8 + 0x4*(i0))
    214 #define NV50_2D_PATTERN_BITMAP__ESIZE				0x00000004
    215 #define NV50_2D_PATTERN_BITMAP__LEN				0x00000002
    216 
    217 #define NV50_2D_PATTERN_X8R8G8B8(i0)			       (0x00000300 + 0x4*(i0))
    218 #define NV50_2D_PATTERN_X8R8G8B8__ESIZE				0x00000004
    219 #define NV50_2D_PATTERN_X8R8G8B8__LEN				0x00000040
    220 #define NV50_2D_PATTERN_X8R8G8B8_B__MASK			0x000000ff
    221 #define NV50_2D_PATTERN_X8R8G8B8_B__SHIFT			0
    222 #define NV50_2D_PATTERN_X8R8G8B8_G__MASK			0x0000ff00
    223 #define NV50_2D_PATTERN_X8R8G8B8_G__SHIFT			8
    224 #define NV50_2D_PATTERN_X8R8G8B8_R__MASK			0x00ff0000
    225 #define NV50_2D_PATTERN_X8R8G8B8_R__SHIFT			16
    226 
    227 #define NV50_2D_PATTERN_R5G6B5(i0)			       (0x00000400 + 0x4*(i0))
    228 #define NV50_2D_PATTERN_R5G6B5__ESIZE				0x00000004
    229 #define NV50_2D_PATTERN_R5G6B5__LEN				0x00000020
    230 #define NV50_2D_PATTERN_R5G6B5_B0__MASK				0x0000001f
    231 #define NV50_2D_PATTERN_R5G6B5_B0__SHIFT			0
    232 #define NV50_2D_PATTERN_R5G6B5_G0__MASK				0x000007e0
    233 #define NV50_2D_PATTERN_R5G6B5_G0__SHIFT			5
    234 #define NV50_2D_PATTERN_R5G6B5_R0__MASK				0x0000f800
    235 #define NV50_2D_PATTERN_R5G6B5_R0__SHIFT			11
    236 #define NV50_2D_PATTERN_R5G6B5_B1__MASK				0x001f0000
    237 #define NV50_2D_PATTERN_R5G6B5_B1__SHIFT			16
    238 #define NV50_2D_PATTERN_R5G6B5_G1__MASK				0x07e00000
    239 #define NV50_2D_PATTERN_R5G6B5_G1__SHIFT			21
    240 #define NV50_2D_PATTERN_R5G6B5_R1__MASK				0xf8000000
    241 #define NV50_2D_PATTERN_R5G6B5_R1__SHIFT			27
    242 
    243 #define NV50_2D_PATTERN_X1R5G5B5(i0)			       (0x00000480 + 0x4*(i0))
    244 #define NV50_2D_PATTERN_X1R5G5B5__ESIZE				0x00000004
    245 #define NV50_2D_PATTERN_X1R5G5B5__LEN				0x00000020
    246 #define NV50_2D_PATTERN_X1R5G5B5_B0__MASK			0x0000001f
    247 #define NV50_2D_PATTERN_X1R5G5B5_B0__SHIFT			0
    248 #define NV50_2D_PATTERN_X1R5G5B5_G0__MASK			0x000003e0
    249 #define NV50_2D_PATTERN_X1R5G5B5_G0__SHIFT			5
    250 #define NV50_2D_PATTERN_X1R5G5B5_R0__MASK			0x00007c00
    251 #define NV50_2D_PATTERN_X1R5G5B5_R0__SHIFT			10
    252 #define NV50_2D_PATTERN_X1R5G5B5_B1__MASK			0x001f0000
    253 #define NV50_2D_PATTERN_X1R5G5B5_B1__SHIFT			16
    254 #define NV50_2D_PATTERN_X1R5G5B5_G1__MASK			0x03e00000
    255 #define NV50_2D_PATTERN_X1R5G5B5_G1__SHIFT			21
    256 #define NV50_2D_PATTERN_X1R5G5B5_R1__MASK			0x7c000000
    257 #define NV50_2D_PATTERN_X1R5G5B5_R1__SHIFT			26
    258 
    259 #define NV50_2D_PATTERN_Y8(i0)				       (0x00000500 + 0x4*(i0))
    260 #define NV50_2D_PATTERN_Y8__ESIZE				0x00000004
    261 #define NV50_2D_PATTERN_Y8__LEN					0x00000010
    262 #define NV50_2D_PATTERN_Y8_Y0__MASK				0x000000ff
    263 #define NV50_2D_PATTERN_Y8_Y0__SHIFT				0
    264 #define NV50_2D_PATTERN_Y8_Y1__MASK				0x0000ff00
    265 #define NV50_2D_PATTERN_Y8_Y1__SHIFT				8
    266 #define NV50_2D_PATTERN_Y8_Y2__MASK				0x00ff0000
    267 #define NV50_2D_PATTERN_Y8_Y2__SHIFT				16
    268 #define NV50_2D_PATTERN_Y8_Y3__MASK				0xff000000
    269 #define NV50_2D_PATTERN_Y8_Y3__SHIFT				24
    270 
    271 #define NV50_2D_DRAW_SHAPE					0x00000580
    272 #define NV50_2D_DRAW_SHAPE_POINTS				0x00000000
    273 #define NV50_2D_DRAW_SHAPE_LINES				0x00000001
    274 #define NV50_2D_DRAW_SHAPE_LINE_STRIP				0x00000002
    275 #define NV50_2D_DRAW_SHAPE_TRIANGLES				0x00000003
    276 #define NV50_2D_DRAW_SHAPE_RECTANGLES				0x00000004
    277 
    278 #define NV50_2D_DRAW_COLOR_FORMAT				0x00000584
    279 
    280 #define NV50_2D_DRAW_COLOR					0x00000588
    281 
    282 #define NV50_2D_UNK58C						0x0000058c
    283 #define NV50_2D_UNK58C_0					0x00000001
    284 #define NV50_2D_UNK58C_1					0x00000010
    285 #define NV50_2D_UNK58C_2					0x00000100
    286 #define NV50_2D_UNK58C_3					0x00001000
    287 
    288 #define NV50_2D_DRAW_POINT16					0x000005e0
    289 #define NV50_2D_DRAW_POINT16_X__MASK				0x0000ffff
    290 #define NV50_2D_DRAW_POINT16_X__SHIFT				0
    291 #define NV50_2D_DRAW_POINT16_Y__MASK				0xffff0000
    292 #define NV50_2D_DRAW_POINT16_Y__SHIFT				16
    293 
    294 #define NV50_2D_DRAW_POINT32_X(i0)			       (0x00000600 + 0x8*(i0))
    295 #define NV50_2D_DRAW_POINT32_X__ESIZE				0x00000008
    296 #define NV50_2D_DRAW_POINT32_X__LEN				0x00000040
    297 
    298 #define NV50_2D_DRAW_POINT32_Y(i0)			       (0x00000604 + 0x8*(i0))
    299 #define NV50_2D_DRAW_POINT32_Y__ESIZE				0x00000008
    300 #define NV50_2D_DRAW_POINT32_Y__LEN				0x00000040
    301 
    302 #define NV50_2D_SIFC_BITMAP_ENABLE				0x00000800
    303 
    304 #define NV50_2D_SIFC_FORMAT					0x00000804
    305 
    306 #define NV50_2D_SIFC_BITMAP_FORMAT				0x00000808
    307 #define NV50_2D_SIFC_BITMAP_FORMAT_I1				0x00000000
    308 #define NV50_2D_SIFC_BITMAP_FORMAT_I4				0x00000001
    309 #define NV50_2D_SIFC_BITMAP_FORMAT_I8				0x00000002
    310 
    311 #define NV50_2D_SIFC_BITMAP_LSB_FIRST				0x0000080c
    312 
    313 #define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE			0x00000810
    314 #define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED		0x00000000
    315 #define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE		0x00000001
    316 #define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD		0x00000002
    317 
    318 #define NV50_2D_SIFC_BITMAP_COLOR_BIT0				0x00000814
    319 
    320 #define NV50_2D_SIFC_BITMAP_COLOR_BIT1				0x00000818
    321 
    322 #define NV50_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE			0x0000081c
    323 
    324 #define NV50_2D_SIFC_WIDTH					0x00000838
    325 
    326 #define NV50_2D_SIFC_HEIGHT					0x0000083c
    327 
    328 #define NV50_2D_SIFC_DX_DU_FRACT				0x00000840
    329 
    330 #define NV50_2D_SIFC_DX_DU_INT					0x00000844
    331 
    332 #define NV50_2D_SIFC_DY_DV_FRACT				0x00000848
    333 
    334 #define NV50_2D_SIFC_DY_DV_INT					0x0000084c
    335 
    336 #define NV50_2D_SIFC_DST_X_FRACT				0x00000850
    337 
    338 #define NV50_2D_SIFC_DST_X_INT					0x00000854
    339 
    340 #define NV50_2D_SIFC_DST_Y_FRACT				0x00000858
    341 
    342 #define NV50_2D_SIFC_DST_Y_INT					0x0000085c
    343 
    344 #define NV50_2D_SIFC_DATA					0x00000860
    345 
    346 #define NV50_2D_UNK0870						0x00000870
    347 
    348 #define NV50_2D_UNK0880						0x00000880
    349 
    350 #define NV50_2D_UNK0884						0x00000884
    351 
    352 #define NV50_2D_UNK0888						0x00000888
    353 
    354 #define NV50_2D_BLIT_CONTROL					0x0000088c
    355 #define NV50_2D_BLIT_CONTROL_ORIGIN__MASK			0x00000001
    356 #define NV50_2D_BLIT_CONTROL_ORIGIN__SHIFT			0
    357 #define NV50_2D_BLIT_CONTROL_ORIGIN_CENTER			0x00000000
    358 #define NV50_2D_BLIT_CONTROL_ORIGIN_CORNER			0x00000001
    359 #define NV50_2D_BLIT_CONTROL_FILTER__MASK			0x00000010
    360 #define NV50_2D_BLIT_CONTROL_FILTER__SHIFT			4
    361 #define NV50_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE		0x00000000
    362 #define NV50_2D_BLIT_CONTROL_FILTER_BILINEAR			0x00000010
    363 
    364 #define NV50_2D_BLIT_DST_X					0x000008b0
    365 
    366 #define NV50_2D_BLIT_DST_Y					0x000008b4
    367 
    368 #define NV50_2D_BLIT_DST_W					0x000008b8
    369 
    370 #define NV50_2D_BLIT_DST_H					0x000008bc
    371 
    372 #define NV50_2D_BLIT_DU_DX_FRACT				0x000008c0
    373 
    374 #define NV50_2D_BLIT_DU_DX_INT					0x000008c4
    375 
    376 #define NV50_2D_BLIT_DV_DY_FRACT				0x000008c8
    377 
    378 #define NV50_2D_BLIT_DV_DY_INT					0x000008cc
    379 
    380 #define NV50_2D_BLIT_SRC_X_FRACT				0x000008d0
    381 
    382 #define NV50_2D_BLIT_SRC_X_INT					0x000008d4
    383 
    384 #define NV50_2D_BLIT_SRC_Y_FRACT				0x000008d8
    385 
    386 #define NV50_2D_BLIT_SRC_Y_INT					0x000008dc
    387 
    388 #define NVC0_2D_FIRMWARE(i0)				       (0x000008e0 + 0x4*(i0))
    389 #define NVC0_2D_FIRMWARE__ESIZE					0x00000004
    390 #define NVC0_2D_FIRMWARE__LEN					0x00000020
    391 
    392 
    393 #endif /* NV50_2D_XML */
    394