Home | History | Annotate | Download | only in nouveau
      1 #ifndef NV04_3D_XML
      2 #define NV04_3D_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 - nv04_3d.xml    (  17839 bytes, from 2010-11-15 02:23:48)
     12 - copyright.xml  (   6452 bytes, from 2010-11-15 15:10:58)
     13 - nv_object.xml  (  11547 bytes, from 2010-11-13 23:32:57)
     14 - nvchipsets.xml (   3074 bytes, from 2010-11-13 23:32:57)
     15 - nv_defs.xml    (   4437 bytes, from 2010-11-01 00:28:46)
     16 - nv_3ddefs.xml  (  16394 bytes, from 2010-11-01 00:28:46)
     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 #define NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY			0x00000180
     79 
     80 #define NV04_CONTEXT_SURFACES_3D_DMA_COLOR			0x00000184
     81 
     82 #define NV04_CONTEXT_SURFACES_3D_DMA_ZETA			0x00000188
     83 
     84 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL		0x000002f8
     85 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X__MASK	0x0000ffff
     86 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X__SHIFT	0
     87 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W__MASK	0xffff0000
     88 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W__SHIFT	16
     89 
     90 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL			0x000002fc
     91 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y__MASK		0x0000ffff
     92 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y__SHIFT		0
     93 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H__MASK		0xffff0000
     94 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H__SHIFT		16
     95 
     96 #define NV04_CONTEXT_SURFACES_3D_FORMAT				0x00000300
     97 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR__MASK		0x000000ff
     98 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR__SHIFT		0
     99 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5	0x00000001
    100 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5	0x00000002
    101 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5		0x00000003
    102 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8	0x00000004
    103 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8	0x00000005
    104 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8	0x00000006
    105 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8	0x00000007
    106 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8		0x00000008
    107 #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE__MASK		0x0000ff00
    108 #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE__SHIFT		8
    109 #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH		0x00000100
    110 #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE		0x00000200
    111 #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U__MASK	0x00ff0000
    112 #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U__SHIFT	16
    113 #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V__MASK	0xff000000
    114 #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V__SHIFT	24
    115 
    116 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE			0x00000304
    117 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W__MASK		0x0000ffff
    118 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W__SHIFT		0
    119 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H__MASK		0xffff0000
    120 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H__SHIFT		16
    121 
    122 #define NV04_CONTEXT_SURFACES_3D_PITCH				0x00000308
    123 #define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR__MASK		0x0000ffff
    124 #define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR__SHIFT		0
    125 #define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA__MASK		0xffff0000
    126 #define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA__SHIFT		16
    127 
    128 #define NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR			0x0000030c
    129 
    130 #define NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA			0x00000310
    131 
    132 
    133 #define NV04_TEXTURED_TRIANGLE_DMA_NOTIFY			0x00000180
    134 
    135 #define NV04_TEXTURED_TRIANGLE_DMA_A				0x00000184
    136 
    137 #define NV04_TEXTURED_TRIANGLE_DMA_B				0x00000188
    138 
    139 #define NV04_TEXTURED_TRIANGLE_SURFACES				0x0000018c
    140 
    141 #define NV04_TEXTURED_TRIANGLE_COLORKEY				0x00000300
    142 
    143 #define NV04_TEXTURED_TRIANGLE_OFFSET				0x00000304
    144 
    145 #define NV04_TEXTURED_TRIANGLE_FORMAT				0x00000308
    146 #define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_A			0x00000001
    147 #define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_B			0x00000002
    148 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_ENABLE		0x00000004
    149 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH__MASK		0x00000030
    150 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH__SHIFT		4
    151 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER		0x00000010
    152 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER		0x00000020
    153 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH__MASK		0x000000c0
    154 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH__SHIFT		6
    155 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER		0x00000040
    156 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER		0x00000080
    157 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR__MASK		0x00000f00
    158 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR__SHIFT		8
    159 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8			0x00000100
    160 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5		0x00000200
    161 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5		0x00000300
    162 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4		0x00000400
    163 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5		0x00000500
    164 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8		0x00000600
    165 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8		0x00000700
    166 #define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS__MASK	0x0000f000
    167 #define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS__SHIFT	12
    168 #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U__MASK		0x000f0000
    169 #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U__SHIFT	16
    170 #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V__MASK		0x00f00000
    171 #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V__SHIFT	20
    172 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU__MASK		0x07000000
    173 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU__SHIFT		24
    174 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT		0x01000000
    175 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT	0x02000000
    176 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE	0x03000000
    177 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER	0x04000000
    178 #define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPU			0x08000000
    179 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV__MASK		0x70000000
    180 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV__SHIFT		28
    181 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT		0x10000000
    182 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT	0x20000000
    183 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE	0x30000000
    184 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER	0x40000000
    185 #define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPV			0x80000000
    186 
    187 #define NV04_TEXTURED_TRIANGLE_FILTER				0x0000030c
    188 #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X__MASK	0x000000ff
    189 #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X__SHIFT	0
    190 #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y__MASK	0x00007f00
    191 #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y__SHIFT	8
    192 #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE	0x00008000
    193 #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS__MASK	0x00ff0000
    194 #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS__SHIFT	16
    195 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY__MASK		0x07000000
    196 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY__SHIFT		24
    197 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST		0x01000000
    198 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR		0x02000000
    199 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST	0x03000000
    200 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST	0x04000000
    201 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR	0x05000000
    202 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR	0x06000000
    203 #define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE	0x08000000
    204 #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY__MASK		0x70000000
    205 #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY__SHIFT		28
    206 #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST		0x10000000
    207 #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR		0x20000000
    208 #define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE	0x80000000
    209 
    210 #define NV04_TEXTURED_TRIANGLE_BLEND				0x00000310
    211 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP__MASK		0x0000000f
    212 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP__SHIFT		0
    213 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECAL		0x00000001
    214 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATE	0x00000002
    215 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECALALPHA	0x00000003
    216 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATEALPHA	0x00000004
    217 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECALMASK	0x00000005
    218 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATEMASK	0x00000006
    219 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_COPY		0x00000007
    220 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_ADD		0x00000008
    221 #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT__MASK		0x00000030
    222 #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT__SHIFT		4
    223 #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_LSB		0x00000010
    224 #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MSB		0x00000020
    225 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE__MASK		0x000000c0
    226 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE__SHIFT		6
    227 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT		0x00000040
    228 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD		0x00000080
    229 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG		0x000000c0
    230 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE	0x00000100
    231 #define NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE		0x00001000
    232 #define NV04_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE			0x00010000
    233 #define NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE		0x00100000
    234 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC__MASK			0x0f000000
    235 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC__SHIFT			24
    236 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ZERO			0x01000000
    237 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE			0x02000000
    238 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_COLOR		0x03000000
    239 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_COLOR	0x04000000
    240 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_ALPHA		0x05000000
    241 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_ALPHA	0x06000000
    242 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_DST_ALPHA		0x07000000
    243 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_ALPHA	0x08000000
    244 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_DST_COLOR		0x09000000
    245 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_COLOR	0x0a000000
    246 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_ALPHA_SATURATE	0x0b000000
    247 #define NV04_TEXTURED_TRIANGLE_BLEND_DST__MASK			0xf0000000
    248 #define NV04_TEXTURED_TRIANGLE_BLEND_DST__SHIFT			28
    249 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ZERO			0x10000000
    250 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE			0x20000000
    251 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_COLOR		0x30000000
    252 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_COLOR	0x40000000
    253 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_ALPHA		0x50000000
    254 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_ALPHA	0x60000000
    255 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_DST_ALPHA		0x70000000
    256 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_DST_ALPHA	0x80000000
    257 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_DST_COLOR		0x90000000
    258 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_DST_COLOR	0xa0000000
    259 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_ALPHA_SATURATE	0xb0000000
    260 
    261 #define NV04_TEXTURED_TRIANGLE_CONTROL				0x00000314
    262 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF__MASK		0x000000ff
    263 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF__SHIFT		0
    264 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC__MASK		0x00000f00
    265 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC__SHIFT	8
    266 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_NEVER		0x00000100
    267 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_LESS		0x00000200
    268 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_EQUAL		0x00000300
    269 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_LEQUAL	0x00000400
    270 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_GREATER	0x00000500
    271 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_NOTEQUAL	0x00000600
    272 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_GEQUAL	0x00000700
    273 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_ALWAYS	0x00000800
    274 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_ENABLE		0x00001000
    275 #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN__MASK		0x00002000
    276 #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN__SHIFT		13
    277 #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN_CENTER		0x00000000
    278 #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN_CORNER		0x00002000
    279 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE			0x00004000
    280 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC__MASK		0x000f0000
    281 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC__SHIFT		16
    282 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_NEVER		0x00010000
    283 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_LESS		0x00020000
    284 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_EQUAL		0x00030000
    285 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_LEQUAL		0x00040000
    286 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_GREATER		0x00050000
    287 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_NOTEQUAL		0x00060000
    288 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_GEQUAL		0x00070000
    289 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_ALWAYS		0x00080000
    290 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE__MASK		0x00300000
    291 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE__SHIFT		20
    292 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_BOTH		0x00000000
    293 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_NONE		0x00100000
    294 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CW		0x00200000
    295 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CCW		0x00300000
    296 #define NV04_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE		0x00400000
    297 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE	0x00800000
    298 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_WRITE			0x01000000
    299 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT__MASK		0xc0000000
    300 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT__SHIFT		30
    301 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_FIXED		0x40000000
    302 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_FLOAT		0x80000000
    303 
    304 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR				0x00000318
    305 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B__MASK			0x000000ff
    306 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B__SHIFT		0
    307 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G__MASK			0x0000ff00
    308 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G__SHIFT		8
    309 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R__MASK			0x00ff0000
    310 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R__SHIFT		16
    311 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A__MASK			0xff000000
    312 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A__SHIFT		24
    313 
    314 #define NV04_TEXTURED_TRIANGLE_TLVERTEX(i0)		       (0x00000400 + 0x20*(i0))
    315 #define NV04_TEXTURED_TRIANGLE_TLVERTEX__ESIZE			0x00000020
    316 #define NV04_TEXTURED_TRIANGLE_TLVERTEX__LEN			0x00000010
    317 
    318 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SX(i0)		       (0x00000400 + 0x20*(i0))
    319 
    320 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SY(i0)		       (0x00000404 + 0x20*(i0))
    321 
    322 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ(i0)		       (0x00000408 + 0x20*(i0))
    323 
    324 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW(i0)		       (0x0000040c + 0x20*(i0))
    325 
    326 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR(i0)	       (0x00000410 + 0x20*(i0))
    327 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B__MASK		0x000000ff
    328 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B__SHIFT		0
    329 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G__MASK		0x0000ff00
    330 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G__SHIFT		8
    331 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R__MASK		0x00ff0000
    332 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R__SHIFT		16
    333 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A__MASK		0xff000000
    334 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A__SHIFT		24
    335 
    336 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(i0)	       (0x00000414 + 0x20*(i0))
    337 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B__MASK	0x000000ff
    338 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B__SHIFT	0
    339 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G__MASK	0x0000ff00
    340 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G__SHIFT	8
    341 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R__MASK	0x00ff0000
    342 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R__SHIFT	16
    343 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG__MASK	0xff000000
    344 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG__SHIFT	24
    345 
    346 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_TU(i0)		       (0x00000418 + 0x20*(i0))
    347 
    348 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_TV(i0)		       (0x0000041c + 0x20*(i0))
    349 
    350 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE(i0)	       (0x00000600 + 0x4*(i0))
    351 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__ESIZE		0x00000004
    352 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__LEN		0x00000040
    353 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0__MASK		0x0000000f
    354 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0__SHIFT		0
    355 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1__MASK		0x000000f0
    356 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1__SHIFT		4
    357 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2__MASK		0x00000f00
    358 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2__SHIFT		8
    359 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3__MASK		0x0000f000
    360 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3__SHIFT		12
    361 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4__MASK		0x000f0000
    362 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4__SHIFT		16
    363 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5__MASK		0x00f00000
    364 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5__SHIFT		20
    365 
    366 
    367 #define NV04_MULTITEX_TRIANGLE_DMA_NOTIFY			0x00000180
    368 
    369 #define NV04_MULTITEX_TRIANGLE_DMA_A				0x00000184
    370 
    371 #define NV04_MULTITEX_TRIANGLE_DMA_B				0x00000188
    372 
    373 #define NV04_MULTITEX_TRIANGLE_SURFACES				0x0000018c
    374 
    375 #define NV04_MULTITEX_TRIANGLE_OFFSET(i0)		       (0x00000308 + 0x4*(i0))
    376 #define NV04_MULTITEX_TRIANGLE_OFFSET__ESIZE			0x00000004
    377 #define NV04_MULTITEX_TRIANGLE_OFFSET__LEN			0x00000002
    378 
    379 #define NV04_MULTITEX_TRIANGLE_FORMAT(i0)		       (0x00000310 + 0x4*(i0))
    380 #define NV04_MULTITEX_TRIANGLE_FORMAT__ESIZE			0x00000004
    381 #define NV04_MULTITEX_TRIANGLE_FORMAT__LEN			0x00000002
    382 #define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_A			0x00000001
    383 #define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_B			0x00000002
    384 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH__MASK		0x00000030
    385 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH__SHIFT		4
    386 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER		0x00000010
    387 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER		0x00000020
    388 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH__MASK		0x000000c0
    389 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH__SHIFT		6
    390 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER		0x00000040
    391 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER		0x00000080
    392 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR__MASK		0x00000f00
    393 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR__SHIFT		8
    394 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_Y8			0x00000100
    395 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A1R5G5B5		0x00000200
    396 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_X1R5G5B5		0x00000300
    397 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A4R4G4B4		0x00000400
    398 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_R5G6B5		0x00000500
    399 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A8R8G8B8		0x00000600
    400 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_X8R8G8B8		0x00000700
    401 #define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS__MASK	0x0000f000
    402 #define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS__SHIFT	12
    403 #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U__MASK		0x000f0000
    404 #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U__SHIFT	16
    405 #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V__MASK		0x00f00000
    406 #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V__SHIFT	20
    407 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU__MASK		0x07000000
    408 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU__SHIFT		24
    409 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_REPEAT		0x01000000
    410 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT	0x02000000
    411 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE	0x03000000
    412 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER	0x04000000
    413 #define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPU			0x08000000
    414 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV__MASK		0x70000000
    415 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV__SHIFT		28
    416 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_REPEAT		0x10000000
    417 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT	0x20000000
    418 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE	0x30000000
    419 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER	0x40000000
    420 #define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPV			0x80000000
    421 
    422 #define NV04_MULTITEX_TRIANGLE_FILTER(i0)		       (0x00000318 + 0x4*(i0))
    423 #define NV04_MULTITEX_TRIANGLE_FILTER__ESIZE			0x00000004
    424 #define NV04_MULTITEX_TRIANGLE_FILTER__LEN			0x00000002
    425 #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X__MASK	0x000000ff
    426 #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X__SHIFT	0
    427 #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y__MASK	0x00007f00
    428 #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y__SHIFT	8
    429 #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE	0x00008000
    430 #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS__MASK	0x00ff0000
    431 #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS__SHIFT	16
    432 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY__MASK		0x07000000
    433 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY__SHIFT		24
    434 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST		0x01000000
    435 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR		0x02000000
    436 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST	0x03000000
    437 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST	0x04000000
    438 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR	0x05000000
    439 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR	0x06000000
    440 #define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE	0x08000000
    441 #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY__MASK		0x70000000
    442 #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY__SHIFT		28
    443 #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_NEAREST		0x10000000
    444 #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_LINEAR		0x20000000
    445 #define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE	0x80000000
    446 
    447 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA(i0)	       (0x00000320 + 0xc*(i0))
    448 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__ESIZE		0x0000000c
    449 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__LEN		0x00000002
    450 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE0		0x00000001
    451 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0__MASK	0x000000fc
    452 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0__SHIFT	2
    453 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_ZERO	0x00000004
    454 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_CONSTANT	0x00000008
    455 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PRIMARY_COLOR	0x0000000c
    456 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PREVIOUS	0x00000010
    457 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE0	0x00000014
    458 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE1	0x00000018
    459 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURELOD	0x0000001c
    460 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE1		0x00000100
    461 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1__MASK	0x0000fc00
    462 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1__SHIFT	10
    463 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_ZERO	0x00000400
    464 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_CONSTANT	0x00000800
    465 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PRIMARY_COLOR	0x00000c00
    466 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PREVIOUS	0x00001000
    467 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE0	0x00001400
    468 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE1	0x00001800
    469 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURELOD	0x00001c00
    470 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE2		0x00010000
    471 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2__MASK	0x00fc0000
    472 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2__SHIFT	18
    473 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_ZERO	0x00040000
    474 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_CONSTANT	0x00080000
    475 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PRIMARY_COLOR	0x000c0000
    476 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PREVIOUS	0x00100000
    477 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE0	0x00140000
    478 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE1	0x00180000
    479 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURELOD	0x001c0000
    480 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE3		0x01000000
    481 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3__MASK	0x1c000000
    482 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3__SHIFT	26
    483 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_ZERO	0x04000000
    484 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_CONSTANT	0x08000000
    485 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PRIMARY_COLOR	0x0c000000
    486 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PREVIOUS	0x10000000
    487 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE0	0x14000000
    488 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE1	0x18000000
    489 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURELOD	0x1c000000
    490 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP__MASK		0xe0000000
    491 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP__SHIFT		29
    492 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_IDENTITY	0x20000000
    493 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE2		0x40000000
    494 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE4		0x60000000
    495 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS		0x80000000
    496 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS_SCALE2	0xe0000000
    497 
    498 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR(i0)	       (0x00000324 + 0xc*(i0))
    499 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__ESIZE		0x0000000c
    500 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__LEN		0x00000002
    501 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE0		0x00000001
    502 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA0		0x00000002
    503 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0__MASK	0x000000fc
    504 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0__SHIFT	2
    505 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_ZERO	0x00000004
    506 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_CONSTANT	0x00000008
    507 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PRIMARY_COLOR	0x0000000c
    508 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PREVIOUS	0x00000010
    509 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE0	0x00000014
    510 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE1	0x00000018
    511 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURELOD	0x0000001c
    512 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE1		0x00000100
    513 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA1		0x00000200
    514 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1__MASK	0x0000fc00
    515 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1__SHIFT	10
    516 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_ZERO	0x00000400
    517 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_CONSTANT	0x00000800
    518 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PRIMARY_COLOR	0x00000c00
    519 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PREVIOUS	0x00001000
    520 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE0	0x00001400
    521 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE1	0x00001800
    522 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURELOD	0x00001c00
    523 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE2		0x00010000
    524 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA2		0x00020000
    525 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2__MASK	0x00fc0000
    526 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2__SHIFT	18
    527 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_ZERO	0x00040000
    528 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_CONSTANT	0x00080000
    529 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PRIMARY_COLOR	0x000c0000
    530 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PREVIOUS	0x00100000
    531 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE0	0x00140000
    532 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE1	0x00180000
    533 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURELOD	0x001c0000
    534 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE3		0x01000000
    535 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA3		0x02000000
    536 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3__MASK	0x1c000000
    537 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3__SHIFT	26
    538 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_ZERO	0x04000000
    539 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_CONSTANT	0x08000000
    540 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PRIMARY_COLOR	0x0c000000
    541 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PREVIOUS	0x10000000
    542 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE0	0x14000000
    543 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE1	0x18000000
    544 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURELOD	0x1c000000
    545 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP__MASK		0xe0000000
    546 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP__SHIFT		29
    547 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_IDENTITY	0x20000000
    548 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE2		0x40000000
    549 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE4		0x60000000
    550 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS		0x80000000
    551 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS_SCALE2	0xe0000000
    552 
    553 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR			0x00000334
    554 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B__MASK		0x000000ff
    555 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B__SHIFT		0
    556 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G__MASK		0x0000ff00
    557 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G__SHIFT		8
    558 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R__MASK		0x00ff0000
    559 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R__SHIFT		16
    560 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A__MASK		0xff000000
    561 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A__SHIFT		24
    562 
    563 #define NV04_MULTITEX_TRIANGLE_BLEND				0x00000338
    564 #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT__MASK		0x00000030
    565 #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT__SHIFT		4
    566 #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_LSB		0x00000010
    567 #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MSB		0x00000020
    568 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE__MASK		0x000000c0
    569 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE__SHIFT		6
    570 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT		0x00000040
    571 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_GOURAUD		0x00000080
    572 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_PHONG		0x000000c0
    573 #define NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE	0x00000100
    574 #define NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE		0x00001000
    575 #define NV04_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE			0x00010000
    576 #define NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE		0x00100000
    577 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC__MASK			0x0f000000
    578 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC__SHIFT			24
    579 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ZERO			0x01000000
    580 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE			0x02000000
    581 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_COLOR		0x03000000
    582 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_COLOR	0x04000000
    583 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_ALPHA		0x05000000
    584 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_ALPHA	0x06000000
    585 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_DST_ALPHA		0x07000000
    586 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_ALPHA	0x08000000
    587 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_DST_COLOR		0x09000000
    588 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_COLOR	0x0a000000
    589 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_ALPHA_SATURATE	0x0b000000
    590 #define NV04_MULTITEX_TRIANGLE_BLEND_DST__MASK			0xf0000000
    591 #define NV04_MULTITEX_TRIANGLE_BLEND_DST__SHIFT			28
    592 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ZERO			0x10000000
    593 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE			0x20000000
    594 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_COLOR		0x30000000
    595 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_COLOR	0x40000000
    596 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_ALPHA		0x50000000
    597 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_ALPHA	0x60000000
    598 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_DST_ALPHA		0x70000000
    599 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_DST_ALPHA	0x80000000
    600 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_DST_COLOR		0x90000000
    601 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_DST_COLOR	0xa0000000
    602 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_ALPHA_SATURATE	0xb0000000
    603 
    604 #define NV04_MULTITEX_TRIANGLE_CONTROL0				0x0000033c
    605 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF__MASK		0x000000ff
    606 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF__SHIFT	0
    607 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC__MASK	0x00000f00
    608 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC__SHIFT	8
    609 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_NEVER	0x00000100
    610 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_LESS		0x00000200
    611 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_EQUAL	0x00000300
    612 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_LEQUAL	0x00000400
    613 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_GREATER	0x00000500
    614 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_NOTEQUAL	0x00000600
    615 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_GEQUAL	0x00000700
    616 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_ALWAYS	0x00000800
    617 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_ENABLE		0x00001000
    618 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN__MASK		0x00002000
    619 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN__SHIFT		13
    620 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN_CENTER		0x00000000
    621 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN_CORNER		0x00002000
    622 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE		0x00004000
    623 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC__MASK		0x000f0000
    624 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC__SHIFT		16
    625 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_NEVER		0x00010000
    626 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_LESS		0x00020000
    627 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_EQUAL		0x00030000
    628 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_LEQUAL		0x00040000
    629 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_GREATER		0x00050000
    630 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_NOTEQUAL		0x00060000
    631 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_GEQUAL		0x00070000
    632 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_ALWAYS		0x00080000
    633 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE__MASK		0x00300000
    634 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE__SHIFT	20
    635 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_BOTH		0x00000000
    636 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_NONE		0x00100000
    637 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CW		0x00200000
    638 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CCW		0x00300000
    639 #define NV04_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE		0x00400000
    640 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE	0x00800000
    641 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE			0x01000000
    642 #define NV04_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE		0x02000000
    643 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE		0x04000000
    644 #define NV04_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE		0x08000000
    645 #define NV04_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE		0x10000000
    646 #define NV04_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE		0x20000000
    647 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT__MASK		0xc0000000
    648 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT__SHIFT		30
    649 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_FIXED		0x40000000
    650 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_FLOAT		0x80000000
    651 
    652 #define NV04_MULTITEX_TRIANGLE_CONTROL1				0x00000340
    653 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_ENABLE		0x00000001
    654 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC__MASK	0x000000f0
    655 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC__SHIFT	4
    656 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF__MASK	0x0000ff00
    657 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF__SHIFT	8
    658 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ__MASK	0x00ff0000
    659 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ__SHIFT	16
    660 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE__MASK	0xff000000
    661 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE__SHIFT	24
    662 
    663 #define NV04_MULTITEX_TRIANGLE_CONTROL2				0x00000344
    664 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL__MASK	0x0000000f
    665 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL__SHIFT	0
    666 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL__MASK	0x000000f0
    667 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL__SHIFT	4
    668 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS__MASK	0x00000f00
    669 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS__SHIFT	8
    670 
    671 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR				0x00000348
    672 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B__MASK			0x000000ff
    673 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B__SHIFT		0
    674 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G__MASK			0x0000ff00
    675 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G__SHIFT		8
    676 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R__MASK			0x00ff0000
    677 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R__SHIFT		16
    678 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A__MASK			0xff000000
    679 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A__SHIFT		24
    680 
    681 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX(i0)		       (0x00000400 + 0x28*(i0))
    682 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX__ESIZE		0x00000028
    683 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX__LEN			0x00000008
    684 
    685 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX(i0)	       (0x00000400 + 0x28*(i0))
    686 
    687 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY(i0)	       (0x00000404 + 0x28*(i0))
    688 
    689 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(i0)	       (0x00000408 + 0x28*(i0))
    690 
    691 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(i0)	       (0x0000040c + 0x28*(i0))
    692 
    693 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(i0)	       (0x00000410 + 0x28*(i0))
    694 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B__MASK		0x000000ff
    695 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B__SHIFT	0
    696 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G__MASK		0x0000ff00
    697 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G__SHIFT	8
    698 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R__MASK		0x00ff0000
    699 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R__SHIFT	16
    700 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A__MASK		0xff000000
    701 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A__SHIFT	24
    702 
    703 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(i0)	       (0x00000414 + 0x28*(i0))
    704 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B__MASK	0x000000ff
    705 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B__SHIFT	0
    706 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G__MASK	0x0000ff00
    707 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G__SHIFT	8
    708 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R__MASK	0x00ff0000
    709 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R__SHIFT	16
    710 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG__MASK	0xff000000
    711 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG__SHIFT	24
    712 
    713 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(i0)	       (0x00000418 + 0x28*(i0))
    714 
    715 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(i0)	       (0x0000041c + 0x28*(i0))
    716 
    717 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(i0)	       (0x00000420 + 0x28*(i0))
    718 
    719 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(i0)	       (0x00000424 + 0x28*(i0))
    720 
    721 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE(i0)	       (0x00000540 + 0x4*(i0))
    722 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__ESIZE		0x00000004
    723 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__LEN		0x00000030
    724 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0__MASK		0x0000000f
    725 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0__SHIFT		0
    726 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1__MASK		0x000000f0
    727 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1__SHIFT		4
    728 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2__MASK		0x00000f00
    729 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2__SHIFT		8
    730 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3__MASK		0x0000f000
    731 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3__SHIFT		12
    732 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4__MASK		0x000f0000
    733 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4__SHIFT		16
    734 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5__MASK		0x00f00000
    735 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5__SHIFT		20
    736 
    737 
    738 #endif /* NV04_3D_XML */
    739