1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef RNNDB_NV50_3D_XML
2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define RNNDB_NV50_3D_XML
3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Autogenerated file, DO NOT EDIT manually!
5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgThis file was generated by the rules-ng-ng headergen tool in this git repository:
7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orghttp://0x04.net/cgit/index.cgi/rules-ng-ng
8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggit clone git://0x04.net/rules-ng-ng
9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgThe rules-ng-ng source files this header was generated from are:
11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- rnndb/nv50_3d.xml      (  65226 bytes, from 2012-01-28 13:46:30)
12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- ./rnndb/copyright.xml  (   6452 bytes, from 2011-08-11 18:25:12)
13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- ./rnndb/nv_defs.xml    (   4437 bytes, from 2011-08-11 18:25:12)
14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- ./rnndb/nv50_defs.xml  (   5468 bytes, from 2011-08-11 18:25:12)
15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- ./rnndb/nvchipsets.xml (   3617 bytes, from 2011-08-11 18:25:12)
16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- ./rnndb/nv_3ddefs.xml  (  16394 bytes, from 2011-08-11 18:25:12)
17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- ./rnndb/nv_object.xml  (  12672 bytes, from 2011-08-11 18:25:12)
18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgCopyright (C) 2006-2012 by the following authors:
20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Ben Skeggs (darktama, darktama_)
22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- B. R. <koala_br@users.sourceforge.net> (koala_br)
23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Dmitry Baryshkov
27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- EdB <edb_@users.sf.net> (edb_)
29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Erik Waling <erikwailing@users.sf.net> (erikwaling)
30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Francisco Jerez <currojerez@riseup.net> (curro)
31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- imirkin <imirkin@users.sf.net> (imirkin)
32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Mark Carey <mark.carey@gmail.com> (careym)
39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Peter Popov <ironpeter@users.sf.net> (ironpeter)
44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Richard Hughes <hughsient@users.sf.net> (hughsient)
45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Serge Martin
47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Simon Raffeiner
48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- sturmflut <sturmflut@users.sf.net> (sturmflut)
51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Sylvain Munaut <tnt@246tNt.com>
52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org- Younes Manton <younes.m@gmail.com> (ymanton)
55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPermission is hereby granted, free of charge, to any person obtaining
57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orga copy of this software and associated documentation files (the
58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org"Software"), to deal in the Software without restriction, including
59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgwithout limitation the rights to use, copy, modify, merge, publish,
60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgdistribute, sublicense, and/or sell copies of the Software, and to
61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgpermit persons to whom the Software is furnished to do so, subject to
62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgthe following conditions:
63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgThe above copyright notice and this permission notice (including the
65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgnext paragraph) shall be included in all copies or substantial
66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgportions of the Software.
67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org*/
76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_NOTIFY					0x00000180
80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_ZETA					0x00000184
82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_QUERY					0x00000188
84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_VTXBUF					0x0000018c
86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_LOCAL					0x00000190
88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_STACK					0x00000194
90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_CODE_CB					0x00000198
92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_TSC						0x0000019c
94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_TIC						0x000001a0
96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_TEXTURE					0x000001a4
98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_STRMOUT					0x000001a8
100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_CLIPID					0x000001ac
102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_COLOR(i0)				       (0x000001c0 + 0x4*(i0))
104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_COLOR__ESIZE				0x00000004
105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DMA_COLOR__LEN					0x00000008
106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT(i0)					       (0x00000200 + 0x20*(i0))
108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT__ESIZE					0x00000020
109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT__LEN						0x00000008
110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ADDRESS_HIGH(i0)			       (0x00000200 + 0x20*(i0))
112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ADDRESS_LOW(i0)			       (0x00000204 + 0x20*(i0))
114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_FORMAT(i0)				       (0x00000208 + 0x20*(i0))
116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_TILE_MODE(i0)			       (0x0000020c + 0x20*(i0))
118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_TILE_MODE_X__MASK				0x0000000f
119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_TILE_MODE_X__SHIFT				0
120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_TILE_MODE_Y__MASK				0x000000f0
121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_TILE_MODE_Y__SHIFT				4
122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_TILE_MODE_Z__MASK				0x00000f00
123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_TILE_MODE_Z__SHIFT				8
124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_LAYER_STRIDE(i0)			       (0x00000210 + 0x20*(i0))
126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_LAYER_STRIDE__SHR				2
127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_UNK14(i0)				       (0x00000214 + 0x20*(i0))
129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_1F(i0)				       (0x00000300 + 0x4*(i0))
131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_1F__ESIZE				0x00000004
132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_1F__LEN				0x00000010
133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2H(i0)				       (0x00000340 + 0x4*(i0))
135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2H__ESIZE				0x00000004
136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2H__LEN				0x00000010
137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2H_X__MASK				0x0000ffff
138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2H_X__SHIFT				0
139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2H_Y__MASK				0xffff0000
140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2H_Y__SHIFT				16
141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2F_X(i0)			       (0x00000380 + 0x8*(i0))
143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2F_X__ESIZE				0x00000008
144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2F_X__LEN				0x00000010
145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2F_Y(i0)			       (0x00000384 + 0x8*(i0))
147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2F_Y__ESIZE				0x00000008
148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2F_Y__LEN				0x00000010
149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_X(i0)			       (0x00000400 + 0x10*(i0))
151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_X__ESIZE				0x00000010
152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_X__LEN				0x00000010
153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_Y(i0)			       (0x00000404 + 0x10*(i0))
155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_Y__ESIZE				0x00000010
156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_Y__LEN				0x00000010
157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_Z(i0)			       (0x00000408 + 0x10*(i0))
159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_Z__ESIZE				0x00000010
160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_3F_Z__LEN				0x00000010
161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_X(i0)			       (0x00000500 + 0x10*(i0))
163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_X__ESIZE				0x00000010
164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_X__LEN				0x00000010
165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_Y(i0)			       (0x00000504 + 0x10*(i0))
167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_Y__ESIZE				0x00000010
168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_Y__LEN				0x00000010
169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_Z(i0)			       (0x00000508 + 0x10*(i0))
171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_Z__ESIZE				0x00000010
172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_Z__LEN				0x00000010
173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_W(i0)			       (0x0000050c + 0x10*(i0))
175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_W__ESIZE				0x00000010
176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4F_W__LEN				0x00000010
177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_0(i0)			       (0x00000600 + 0x8*(i0))
179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_0__ESIZE				0x00000008
180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_0__LEN				0x00000010
181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_0_X__MASK				0x0000ffff
182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_0_X__SHIFT				0
183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_0_Y__MASK				0xffff0000
184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_0_Y__SHIFT				16
185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_1(i0)			       (0x00000604 + 0x8*(i0))
187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_1__ESIZE				0x00000008
188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_1__LEN				0x00000010
189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_1_Z__MASK				0x0000ffff
190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_1_Z__SHIFT				0
191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_1_W__MASK				0xffff0000
192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4H_1_W__SHIFT				16
193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2I(i0)				       (0x00000680 + 0x4*(i0))
195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2I__ESIZE				0x00000004
196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2I__LEN				0x00000010
197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2I_X__MASK				0x0000ffff
198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2I_X__SHIFT				0
199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2I_Y__MASK				0xffff0000
200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2I_Y__SHIFT				16
201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2NI(i0)			       (0x000006c0 + 0x4*(i0))
203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2NI__ESIZE				0x00000004
204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2NI__LEN				0x00000010
205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2NI_X__MASK				0x0000ffff
206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2NI_X__SHIFT				0
207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2NI_Y__MASK				0xffff0000
208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_2NI_Y__SHIFT				16
209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_0(i0)			       (0x00000700 + 0x8*(i0))
211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_0__ESIZE				0x00000008
212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_0__LEN				0x00000010
213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_0_X__MASK				0x0000ffff
214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_0_X__SHIFT				0
215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_0_Y__MASK				0xffff0000
216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_0_Y__SHIFT				16
217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_1(i0)			       (0x00000704 + 0x8*(i0))
219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_1__ESIZE				0x00000008
220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_1__LEN				0x00000010
221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_1_Z__MASK				0x0000ffff
222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_1_Z__SHIFT				0
223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_1_W__MASK				0xffff0000
224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4I_1_W__SHIFT				16
225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_0(i0)			       (0x00000780 + 0x8*(i0))
227f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_0__ESIZE				0x00000008
228f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_0__LEN				0x00000010
229f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_0_X__MASK				0x0000ffff
230f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_0_X__SHIFT				0
231f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_0_Y__MASK				0xffff0000
232f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_0_Y__SHIFT				16
233f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
234f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_1(i0)			       (0x00000784 + 0x8*(i0))
235f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_1__ESIZE				0x00000008
236f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_1__LEN				0x00000010
237f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_1_Z__MASK				0x0000ffff
238f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_1_Z__SHIFT				0
239f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_1_W__MASK				0xffff0000
240f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NI_1_W__SHIFT				16
241f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
242f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB(i0)			       (0x00000800 + 0x4*(i0))
243f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB__ESIZE				0x00000004
244f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB__LEN				0x00000010
245f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB_X__MASK				0x000000ff
246f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB_X__SHIFT				0
247f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB_Y__MASK				0x0000ff00
248f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB_Y__SHIFT				8
249f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB_Z__MASK				0x00ff0000
250f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB_Z__SHIFT				16
251f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB_W__MASK				0xff000000
252f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4UB_W__SHIFT				24
253f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
254f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B(i0)				       (0x00000840 + 0x4*(i0))
255f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B__ESIZE				0x00000004
256f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B__LEN				0x00000010
257f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B_X__MASK				0x000000ff
258f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B_X__SHIFT				0
259f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B_Y__MASK				0x0000ff00
260f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B_Y__SHIFT				8
261f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B_Z__MASK				0x00ff0000
262f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B_Z__SHIFT				16
263f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B_W__MASK				0xff000000
264f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4B_W__SHIFT				24
265f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
266f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB(i0)			       (0x00000880 + 0x4*(i0))
267f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB__ESIZE				0x00000004
268f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB__LEN				0x00000010
269f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB_X__MASK				0x000000ff
270f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB_X__SHIFT				0
271f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB_Y__MASK				0x0000ff00
272f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB_Y__SHIFT				8
273f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB_Z__MASK				0x00ff0000
274f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB_Z__SHIFT				16
275f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB_W__MASK				0xff000000
276f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NUB_W__SHIFT				24
277f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
278f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB(i0)			       (0x000008c0 + 0x4*(i0))
279f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB__ESIZE				0x00000004
280f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB__LEN				0x00000010
281f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB_X__MASK				0x000000ff
282f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB_X__SHIFT				0
283f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB_Y__MASK				0x0000ff00
284f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB_Y__SHIFT				8
285f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB_Z__MASK				0x00ff0000
286f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB_Z__SHIFT				16
287f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB_W__MASK				0xff000000
288f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_4NB_W__SHIFT				24
289f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
290f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_FETCH(i0)			       (0x00000900 + 0x10*(i0))
291f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_FETCH__ESIZE			0x00000010
292f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_FETCH__LEN				0x00000010
293f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK			0x00000fff
294f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT		0
295f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_FETCH_ENABLE			0x20000000
296f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
297f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_START_HIGH(i0)		       (0x00000904 + 0x10*(i0))
298f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_START_HIGH__ESIZE			0x00000010
299f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_START_HIGH__LEN			0x00000010
300f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
301f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_START_LOW(i0)		       (0x00000908 + 0x10*(i0))
302f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_START_LOW__ESIZE			0x00000010
303f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_START_LOW__LEN			0x00000010
304f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
305f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_DIVISOR(i0)		       (0x0000090c + 0x10*(i0))
306f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_DIVISOR__ESIZE			0x00000010
307f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_DIVISOR__LEN			0x00000010
308f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
309f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_X(i0)			       (0x00000a00 + 0x20*(i0))
310f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_X__ESIZE				0x00000020
311f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_X__LEN				0x00000010
312f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
313f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_Y(i0)			       (0x00000a04 + 0x20*(i0))
314f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_Y__ESIZE				0x00000020
315f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_Y__LEN				0x00000010
316f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
317f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_Z(i0)			       (0x00000a08 + 0x20*(i0))
318f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_Z__ESIZE				0x00000020
319f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_SCALE_Z__LEN				0x00000010
320f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
321f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_X(i0)		       (0x00000a0c + 0x20*(i0))
322f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_X__ESIZE			0x00000020
323f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_X__LEN			0x00000010
324f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
325f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_Y(i0)		       (0x00000a10 + 0x20*(i0))
326f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_Y__ESIZE			0x00000020
327f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_Y__LEN			0x00000010
328f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
329f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_Z(i0)		       (0x00000a14 + 0x20*(i0))
330f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_Z__ESIZE			0x00000020
331f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSLATE_Z__LEN			0x00000010
332f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
333f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_HORIZ(i0)			       (0x00000c00 + 0x10*(i0))
334f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_HORIZ__ESIZE				0x00000010
335f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_HORIZ__LEN				0x00000010
336f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_HORIZ_X__MASK				0x0000ffff
337f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_HORIZ_X__SHIFT				0
338f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_HORIZ_W__MASK				0xffff0000
339f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_HORIZ_W__SHIFT				16
340f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
341f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_VERT(i0)			       (0x00000c04 + 0x10*(i0))
342f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_VERT__ESIZE				0x00000010
343f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_VERT__LEN				0x00000010
344f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_VERT_Y__MASK				0x0000ffff
345f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_VERT_Y__SHIFT				0
346f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_VERT_H__MASK				0xffff0000
347f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_VERT_H__SHIFT				16
348f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
349f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_RANGE_NEAR(i0)			       (0x00000c08 + 0x10*(i0))
350f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_RANGE_NEAR__ESIZE				0x00000010
351f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_RANGE_NEAR__LEN				0x00000010
352f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
353f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_RANGE_FAR(i0)			       (0x00000c0c + 0x10*(i0))
354f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_RANGE_FAR__ESIZE				0x00000010
355f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_RANGE_FAR__LEN				0x00000010
356f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
357f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_HORIZ(i0)			       (0x00000d00 + 0x8*(i0))
358f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_HORIZ__ESIZE				0x00000008
359f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_HORIZ__LEN				0x00000008
360f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_HORIZ_MIN__MASK			0x0000ffff
361f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_HORIZ_MIN__SHIFT			0
362f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_HORIZ_MAX__MASK			0xffff0000
363f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_HORIZ_MAX__SHIFT			16
364f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
365f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_VERT(i0)			       (0x00000d04 + 0x8*(i0))
366f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_VERT__ESIZE				0x00000008
367f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_VERT__LEN				0x00000008
368f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_VERT_MIN__MASK			0x0000ffff
369f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_VERT_MIN__SHIFT			0
370f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_VERT_MAX__MASK			0xffff0000
371f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECT_VERT_MAX__SHIFT			16
372f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
373f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_HORIZ(i0)			       (0x00000d40 + 0x8*(i0))
374f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_HORIZ__ESIZE			0x00000008
375f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_HORIZ__LEN			0x00000004
376f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_HORIZ_X__MASK			0x0000ffff
377f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_HORIZ_X__SHIFT			0
378f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_HORIZ_W__MASK			0xffff0000
379f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_HORIZ_W__SHIFT			16
380f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
381f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_VERT(i0)			       (0x00000d44 + 0x8*(i0))
382f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_VERT__ESIZE			0x00000008
383f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_VERT__LEN				0x00000004
384f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_VERT_Y__MASK			0x0000ffff
385f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_VERT_Y__SHIFT			0
386f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_VERT_H__MASK			0xffff0000
387f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_REGION_VERT_H__SHIFT			16
388f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
389f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D60						0x00000d60
390f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
391f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D64						0x00000d64
392f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
393f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE					0x00000d68
394f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_VFETCH_VERTICES			0x00000001
395f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_VFETCH_PRIMITIVES		0x00000002
396f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_VP_LAUNCHES			0x00000004
397f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_GP_LAUNCHES			0x00000008
398f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_GP_PRIMITIVES_OUT		0x00000010
399f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_TRANSFORM_FEEDBACK		0x00000020
400f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_GENERATED_PRIMITIVES		0x00000040
401f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_RAST_PRIMITIVES_PRECLIP		0x00000080
402f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_RAST_PRIMITIVES_POSTCLIP		0x00000100
403f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_ENABLE_FP_PIXELS			0x00000200
404f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_COUNTER_ENABLE_UNK0A				0x00000400
405f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
406f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D6C(i0)				       (0x00000d6c + 0x4*(i0))
407f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D6C__ESIZE					0x00000004
408f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D6C__LEN					0x00000002
409f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D6C_X__MASK					0x0000ffff
410f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D6C_X__SHIFT				0
411f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D6C_Y__MASK					0xffff0000
412f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D6C_Y__SHIFT				16
413f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
414f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BUFFER_FIRST				0x00000d74
415f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
416f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BUFFER_COUNT				0x00000d78
417f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
418f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0D7C						0x00000d7c
419f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
420f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_COLOR(i0)				       (0x00000d80 + 0x4*(i0))
421f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_COLOR__ESIZE				0x00000004
422f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_COLOR__LEN				0x00000004
423f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
424f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_DEPTH					0x00000d90
425f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
426f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STACK_ADDRESS_HIGH				0x00000d94
427f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
428f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STACK_ADDRESS_LOW				0x00000d98
429f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
430f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STACK_SIZE_LOG					0x00000d9c
431f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
432f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_STENCIL					0x00000da0
433f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
434f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_PARAMS_LATCH				0x00000da4
435f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
436f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_PRIMITIVE_LIMIT				0x00000da8
437f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
438f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_MODE_FRONT				0x00000dac
439f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_MODE_FRONT_POINT			0x00001b00
440f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_MODE_FRONT_LINE				0x00001b01
441f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_MODE_FRONT_FILL				0x00001b02
442f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
443f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_MODE_BACK				0x00000db0
444f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_MODE_BACK_POINT				0x00001b00
445f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_MODE_BACK_LINE				0x00001b01
446f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_MODE_BACK_FILL				0x00001b02
447f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
448f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_SMOOTH_ENABLE				0x00000db4
449f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
450f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DB8						0x00000db8
451f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
452f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DBC					0x00000dbc
453f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DBC_UNK0				0x00000001
454f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DBC_UNK16__MASK			0x00030000
455f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DBC_UNK16__SHIFT			16
456f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
457f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_OFFSET_POINT_ENABLE			0x00000dc0
458f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
459f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_OFFSET_LINE_ENABLE			0x00000dc4
460f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
461f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_OFFSET_FILL_ENABLE			0x00000dc8
462f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
463f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DCC						0x00000dcc
464f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
465f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_MASK_UNK0DD0(i0)		       (0x00000dd0 + 0x4*(i0))
466f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_MASK_UNK0DD0__ESIZE			0x00000004
467f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_ATTR_MASK_UNK0DD0__LEN			0x00000002
468f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
469f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DD8					0x00000dd8
470f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DD8_UNK0__MASK			0x00000007
471f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DD8_UNK0__SHIFT			0
472f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_ZCULL_UNK0DD8_UNK9				0x00000200
473f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DD8_UNK16__MASK			0xffff0000
474f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_UNK0DD8_UNK16__SHIFT			16
475f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
476f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DDC						0x00000ddc
477f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
478f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DE0						0x00000de0
479f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
480f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_WATCHDOG_TIMER					0x00000de4
481f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
482f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DE8						0x00000de8
483f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
484f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DEC						0x00000dec
485f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
486f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DF0						0x00000df0
487f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DF0_UNK0					0x00000001
488f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DF0_UNK1__MASK				0x00000ff0
489f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DF0_UNK1__SHIFT				4
490f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
491f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0DF4						0x00000df4
492f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
493f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_WINDOW_OFFSET_X					0x00000df8
494f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
495f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_WINDOW_OFFSET_Y					0x00000dfc
496f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
497f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_ENABLE(i0)			       (0x00000e00 + 0x10*(i0))
498f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_ENABLE__ESIZE				0x00000010
499f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_ENABLE__LEN				0x00000010
500f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
501f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_HORIZ(i0)			       (0x00000e04 + 0x10*(i0))
502f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_HORIZ__ESIZE				0x00000010
503f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_HORIZ__LEN				0x00000010
504f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_HORIZ_MIN__MASK				0x0000ffff
505f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_HORIZ_MIN__SHIFT			0
506f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_HORIZ_MAX__MASK				0xffff0000
507f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_HORIZ_MAX__SHIFT			16
508f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
509f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_VERT(i0)			       (0x00000e08 + 0x10*(i0))
510f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_VERT__ESIZE				0x00000010
511f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_VERT__LEN				0x00000010
512f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_VERT_MIN__MASK				0x0000ffff
513f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_VERT_MIN__SHIFT				0
514f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_VERT_MAX__MASK				0xffff0000
515f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCISSOR_VERT_MAX__SHIFT				16
516f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
517f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_ADDR						0x00000f00
518f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_ADDR_ID__MASK				0x003fff00
519f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_ADDR_ID__SHIFT				8
520f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_ADDR_BUFFER__MASK				0x0000007f
521f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_ADDR_BUFFER__SHIFT				0
522f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
523f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DATA(i0)				       (0x00000f04 + 0x4*(i0))
524f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DATA__ESIZE					0x00000004
525f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DATA__LEN					0x00000010
526f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
527f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOCAL_WARPS_LOG_ALLOC				0x00000f44
528f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
529f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOCAL_WARPS_NO_CLAMP				0x00000f48
530f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
531f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STACK_WARPS_LOG_ALLOC				0x00000f4c
532f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
533f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STACK_WARPS_NO_CLAMP				0x00000f50
534f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
535f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_REF				0x00000f54
536f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
537f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_MASK				0x00000f58
538f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
539f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_MASK				0x00000f5c
540f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
541f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0F60(i0)				       (0x00000f60 + 0x4*(i0))
542f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0F60__ESIZE					0x00000004
543f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0F60__LEN					0x00000004
544f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
545f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_ADDRESS_HIGH					0x00000f70
546f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
547f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_ADDRESS_LOW					0x00000f74
548f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
549f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0F78						0x00000f78
550f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
551f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ADDRESS_HIGH					0x00000f7c
552f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
553f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ADDRESS_LOW					0x00000f80
554f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
555f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_RUNOUT_ADDRESS_HIGH			0x00000f84
556f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
557f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_RUNOUT_ADDRESS_LOW			0x00000f88
558f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
559f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0F8C						0x00000f8c
560f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
561f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COLOR_MASK_COMMON				0x00000f90
562f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
563f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0F94						0x00000f94
564f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
565f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0F98						0x00000f98
566f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
567f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_BOUNDS(i0)			       (0x00000f9c + 0x4*(i0))
568f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_BOUNDS__ESIZE				0x00000004
569f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_BOUNDS__LEN				0x00000002
570f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
571f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_ADDRESS_HIGH					0x00000fa4
572f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
573f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_ADDRESS_LOW					0x00000fa8
574f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
575f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FAC						0x00000fac
576f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FAC_UNK0					0x00000001
577f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK0FAC_UNK2					0x00000002
578f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FAC_UNK1__MASK				0x000ffff0
579f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FAC_UNK1__SHIFT				4
580f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
581f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FB0						0x00000fb0
582f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
583f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FB4						0x00000fb4
584f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
585f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FB8						0x00000fb8
586f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
587f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MSAA_MASK(i0)				       (0x00000fbc + 0x4*(i0))
588f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MSAA_MASK__ESIZE				0x00000004
589f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MSAA_MASK__LEN					0x00000004
590f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
591f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_ADDRESS_HIGH				0x00000fcc
592f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
593f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_ADDRESS_LOW				0x00000fd0
594f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
595f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_VIEWPORT				0x00000fd4
596f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_VIEWPORT_VIEWPORT_ID__MASK		0x000000ff
597f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_VIEWPORT_VIEWPORT_ID__SHIFT		0
598f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
599f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FD8						0x00000fd8
600f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FD8_UNK0					0x00000001
601f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FD8_UNK1					0x00000010
602f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
603f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FDC						0x00000fdc
604f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
605f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_ADDRESS_HIGH				0x00000fe0
606f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
607f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_ADDRESS_LOW				0x00000fe4
608f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
609f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_FORMAT					0x00000fe8
610f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
611f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_TILE_MODE					0x00000fec
612f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
613f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_LAYER_STRIDE				0x00000ff0
614f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_LAYER_STRIDE__SHR				2
615f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
616f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_HORIZ				0x00000ff4
617f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_HORIZ_W__MASK			0xffff0000
618f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_HORIZ_W__SHIFT			16
619f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_HORIZ_X__MASK			0x0000ffff
620f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_HORIZ_X__SHIFT			0
621f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
622f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_VERT				0x00000ff8
623f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_VERT_H__MASK			0xffff0000
624f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_VERT_H__SHIFT			16
625f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_VERT_Y__MASK			0x0000ffff
626f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_SCISSOR_VERT_Y__SHIFT			0
627f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
628f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK0FFC						0x00000ffc
629f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
630f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_PER_INSTANCE(i0)		       (0x00001000 + 0x4*(i0))
631f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE		0x00000004
632f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_PER_INSTANCE__LEN			0x00000010
633f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
634f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1040(i0)				       (0x00001040 + 0x4*(i0))
635f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1040__ESIZE					0x00000004
636f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1040__LEN					0x00000010
637f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
638f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_LIMIT_HIGH(i0)		       (0x00001080 + 0x8*(i0))
639f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_LIMIT_HIGH__ESIZE			0x00000008
640f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_LIMIT_HIGH__LEN			0x00000010
641f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
642f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_LIMIT_LOW(i0)		       (0x00001084 + 0x8*(i0))
643f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_LIMIT_LOW__ESIZE			0x00000008
644f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_LIMIT_LOW__LEN			0x00000010
645f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
646f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1100						0x00001100
647f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
648f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104						0x00001104
649f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104_0__MASK					0x0000ffff
650f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104_0__SHIFT				0
651f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104_0__MAX					0x00002000
652f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104_0__ALIGN				0x00000040
653f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104_1__MASK					0xffff0000
654f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104_1__SHIFT				16
655f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104_1__MAX					0x00002000
656f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1104_1__ALIGN				0x00000040
657f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
658f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1108						0x00001108
659f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1108_0					0x00000001
660f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1108_1					0x00000010
661f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
662f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK110C						0x0000110c
663f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
664f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_UNK1110						0x00001110
665f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
666f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_WRCACHE_FLUSH					0x00001114
667f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
668f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_VERTEX_ID_BASE					0x00001118
669f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
670f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_PRIMITIVE_ID					0x0000111c
671f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
672f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VTX_ATTR_MASK_UNK0DD0_ALT(i0)		       (0x00001120 + 0x4*(i0))
673f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VTX_ATTR_MASK_UNK0DD0_ALT__ESIZE		0x00000004
674f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VTX_ATTR_MASK_UNK0DD0_ALT__LEN			0x00000004
675f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
676f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT(i0)			       (0x00001130 + 0x4*(i0))
677f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT__ESIZE				0x00000004
678f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT__LEN				0x00000004
679f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_7__MASK				0xf0000000
680f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_7__SHIFT				28
681f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_7_X				0x10000000
682f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_7_Y				0x20000000
683f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_7_Z				0x40000000
684f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_7_W				0x80000000
685f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_6__MASK				0x0f000000
686f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_6__SHIFT				24
687f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_6_X				0x01000000
688f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_6_Y				0x02000000
689f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_6_Z				0x04000000
690f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_6_W				0x08000000
691f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_5__MASK				0x00f00000
692f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_5__SHIFT				20
693f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_5_X				0x00100000
694f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_5_Y				0x00200000
695f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_5_Z				0x00400000
696f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_5_W				0x00800000
697f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_4__MASK				0x000f0000
698f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_4__SHIFT				16
699f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_4_X				0x00010000
700f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_4_Y				0x00020000
701f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_4_Z				0x00040000
702f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_4_W				0x00080000
703f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_3__MASK				0x0000f000
704f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_3__SHIFT				12
705f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_3_X				0x00001000
706f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_3_Y				0x00002000
707f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_3_Z				0x00004000
708f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_3_W				0x00008000
709f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_2__MASK				0x00000f00
710f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_2__SHIFT				8
711f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_2_X				0x00000100
712f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_2_Y				0x00000200
713f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_2_Z				0x00000400
714f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_2_W				0x00000800
715f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_1__MASK				0x000000f0
716f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_1__SHIFT				4
717f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_1_X				0x00000010
718f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_1_Y				0x00000020
719f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_1_Z				0x00000040
720f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_1_W				0x00000080
721f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_0__MASK				0x0000000f
722f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_0__SHIFT				0
723f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_0_X				0x00000001
724f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_0_Y				0x00000002
725f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_0_Z				0x00000004
726f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_ATTR_EN_ALT_0_W				0x00000008
727f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
728f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK1140						0x00001140
729f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
730f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK1144						0x00001144
731f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
732f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE					0x0000114c
733f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_ATTR__MASK			0x000000ff
734f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_ATTR__SHIFT			0
735f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_COMP__MASK			0x00000700
736f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_COMP__SHIFT			8
737f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_COMP__MIN			0x00000001
738f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_COMP__MAX			0x00000004
739f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_SIZE__MASK			0x00007000
740f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_SIZE__SHIFT			12
741f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_SIZE_8				0x00001000
742f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_SIZE_16				0x00002000
743f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_SIZE_32				0x00004000
744f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE__MASK			0x00070000
745f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE__SHIFT			16
746f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE_SNORM			0x00010000
747f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE_UNORM			0x00020000
748f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE_SINT			0x00030000
749f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE_UINT			0x00040000
750f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE_USCALED			0x00050000
751f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE_SSCALED			0x00060000
752f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DEFINE_TYPE_FLOAT			0x00070000
753f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
754f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DATA(i0)			       (0x00001150 + 0x4*(i0))
755f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DATA__ESIZE				0x00000004
756f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VTX_ATTR_DATA__LEN				0x00000004
757f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
758f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT(i0)		       (0x00001160 + 0x4*(i0))
759f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT__ESIZE			0x00000004
760f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT__LEN			0x00000020
761f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_BUFFER__MASK		0x0000001f
762f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_BUFFER__SHIFT		0
763f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_CONST			0x00000040
764f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_OFFSET__MASK		0x001fff80
765f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_OFFSET__SHIFT		7
766f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT__MASK		0x07e00000
767f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT__SHIFT		21
768f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32_32_32_32	0x00200000
769f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32_32_32		0x00400000
770f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16_16_16_16	0x00600000
771f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32_32		0x00800000
772f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16_16_16		0x00a00000
773f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_8_8_8_8		0x01400000
774f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16_16		0x01e00000
775f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32		0x02400000
776f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_8_8_8		0x02600000
777f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_8_8		0x03000000
778f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16		0x03600000
779f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_8		0x03a00000
780f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_10_10_10_2	0x06000000
781f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE__MASK		0x38000000
782f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE__SHIFT		27
783f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE_SNORM		0x08000000
784f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE_UNORM		0x10000000
785f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE_SINT		0x18000000
786f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE_UINT		0x20000000
787f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE_USCALED		0x28000000
788f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE_SSCALED		0x30000000
789f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE_FLOAT		0x38000000
790f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_BGRA			0x80000000
791f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
792f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL					0x0000121c
793f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_COUNT__MASK				0x0000000f
794f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_COUNT__SHIFT				0
795f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP0__MASK				0x00000070
796f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP0__SHIFT				4
797f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP1__MASK				0x00000380
798f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP1__SHIFT				7
799f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP2__MASK				0x00001c00
800f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP2__SHIFT				10
801f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP3__MASK				0x0000e000
802f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP3__SHIFT				13
803f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP4__MASK				0x00070000
804f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP4__SHIFT				16
805f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP5__MASK				0x00380000
806f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP5__SHIFT				19
807f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP6__MASK				0x01c00000
808f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP6__SHIFT				22
809f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP7__MASK				0x0e000000
810f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_CONTROL_MAP7__SHIFT				25
811f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
812f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1220						0x00001220
813f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
814f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ARRAY_MODE					0x00001224
815f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ARRAY_MODE_LAYERS__MASK			0x0000ffff
816f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ARRAY_MODE_LAYERS__SHIFT			0
817f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ARRAY_MODE_MODE__MASK			0x00010000
818f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ARRAY_MODE_MODE__SHIFT			16
819f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ARRAY_MODE_MODE_2D_ARRAY			0x00000000
820f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_ARRAY_MODE_MODE_3D				0x00010000
821f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
822f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_HORIZ					0x00001228
823f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
824f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_VERT					0x0000122c
825f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
826f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_ARRAY_MODE					0x00001230
827f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_ARRAY_MODE_LAYERS__MASK			0x0000ffff
828f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_ARRAY_MODE_LAYERS__SHIFT			0
829f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_ARRAY_MODE_UNK				0x00010000
830f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
831f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINKED_TSC					0x00001234
832f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
833f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1238						0x00001238
834f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
835f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_DRAW_TFB_BYTES					0x0000123c
836f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
837f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_HORIZ(i0)				       (0x00001240 + 0x8*(i0))
838f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_HORIZ__ESIZE					0x00000008
839f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_HORIZ__LEN					0x00000008
840f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_HORIZ_WIDTH__MASK				0x0fffffff
841f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_HORIZ_WIDTH__SHIFT				0
842f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_HORIZ_LINEAR					0x80000000
843f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
844f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_VERT(i0)				       (0x00001244 + 0x8*(i0))
845f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_VERT__ESIZE					0x00000008
846f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_VERT__LEN					0x00000008
847f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
848f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DEF_ADDRESS_HIGH				0x00001280
849f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
850f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DEF_ADDRESS_LOW				0x00001284
851f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
852f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DEF_SET					0x00001288
853f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DEF_SET_SIZE__MASK				0x0000ffff
854f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DEF_SET_SIZE__SHIFT				0
855f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DEF_SET_BUFFER__MASK				0x007f0000
856f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CB_DEF_SET_BUFFER__SHIFT			16
857f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
858f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C						0x0000128c
859f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C_0__MASK					0x00000003
860f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C_0__SHIFT				0
861f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C_1__MASK					0x00000030
862f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C_1__SHIFT				4
863f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C_2__MASK					0x00000300
864f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C_2__SHIFT				8
865f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C_3__MASK					0x00003000
866f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK128C_3__SHIFT				12
867f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
868f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CALL_LIMIT_LOG					0x00001290
869f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CALL_LIMIT_LOG_VP__MASK				0x0000000f
870f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CALL_LIMIT_LOG_VP__SHIFT			0
871f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CALL_LIMIT_LOG_GP__MASK				0x000000f0
872f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CALL_LIMIT_LOG_GP__SHIFT			4
873f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CALL_LIMIT_LOG_FP__MASK				0x00000f00
874f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CALL_LIMIT_LOG_FP__SHIFT			8
875f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
876f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_BUFFERS_CTRL				0x00001294
877f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_BUFFERS_CTRL_INTERLEAVED		0x00000001
878f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_BUFFERS_CTRL_LIMIT_MODE__MASK		0x00000002
879f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_BUFFERS_CTRL_LIMIT_MODE__SHIFT		1
880f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_BUFFERS_CTRL_LIMIT_MODE_PRIMITIVES	0x00000000
881f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_BUFFERS_CTRL_LIMIT_MODE_OFFSET		0x00000002
882f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_BUFFERS_CTRL_SEPARATE__MASK		0x000000f0
883f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_BUFFERS_CTRL_SEPARATE__SHIFT		4
884f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_BUFFERS_CTRL_STRIDE__MASK		0x000fff00
885f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_BUFFERS_CTRL_STRIDE__SHIFT		8
886f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_BUFFERS_CTRL_STRIDE__MAX		0x00000800
887f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
888f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_RESULT_COUNT					0x00001298
889f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
890f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VTX_UNK129C					0x0000129c
891f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
892f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12A0						0x000012a0
893f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
894f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12A8						0x000012a8
895f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12A8_UNK1					0x00000001
896f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12A8_UNK2__MASK				0x000ffff0
897f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12A8_UNK2__SHIFT				4
898f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
899f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12AC						0x000012ac
900f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
901f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0						0x000012b0
902f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK0__MASK				0x000000ff
903f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK0__SHIFT				0
904f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK1__MASK				0x0000ff00
905f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK1__SHIFT				8
906f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK2__MASK				0x00ff0000
907f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK2__SHIFT				16
908f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK3__MASK				0xff000000
909f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK3__SHIFT				24
910f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B0_UNK3__MAX				0x00000080
911f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
912f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B4						0x000012b4
913f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
914f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK12B8						0x000012b8
915f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
916f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_ENABLE				0x000012cc
917f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
918f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_D3D_FILL_MODE					0x000012d0
919f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_D3D_FILL_MODE_POINT				0x00000001
920f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_D3D_FILL_MODE_WIREFRAME				0x00000002
921f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_D3D_FILL_MODE_SOLID				0x00000003
922f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
923f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SHADE_MODEL					0x000012d4
924f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SHADE_MODEL_FLAT				0x00001d00
925f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SHADE_MODEL_SMOOTH				0x00001d01
926f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
927f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOCAL_ADDRESS_HIGH				0x000012d8
928f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
929f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOCAL_ADDRESS_LOW				0x000012dc
930f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
931f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOCAL_SIZE_LOG					0x000012e0
932f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
933f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_INDEPENDENT				0x000012e4
934f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
935f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_WRITE_ENABLE				0x000012e8
936f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
937f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_ENABLE				0x000012ec
938f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
939f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_SET(i0)				       (0x000012f0 + 0x4*(i0))
940f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_SET__ESIZE					0x00000004
941f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_SET__LEN					0x00000004
942f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
943f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_SETUP				0x00001300
944f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK		0xc0000000
945f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_SETUP_OFFSET__SHIFT		30
946f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK			0x3fffffff
947f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT		0
948f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
949f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8					0x00001304
950f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_I0__MASK				0x000000ff
951f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_I0__SHIFT				0
952f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_I1__MASK				0x0000ff00
953f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_I1__SHIFT				8
954f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_I2__MASK				0x00ff0000
955f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_I2__SHIFT				16
956f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_I3__MASK				0xff000000
957f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U8_I3__SHIFT				24
958f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
959f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_D3D_CULL_MODE					0x00001308
960f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_D3D_CULL_MODE_NONE				0x00000001
961f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_D3D_CULL_MODE_FRONT				0x00000002
962f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_D3D_CULL_MODE_BACK				0x00000003
963f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
964f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC					0x0000130c
965f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC_NEVER				0x00000200
966f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC_LESS				0x00000201
967f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC_EQUAL				0x00000202
968f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC_LEQUAL				0x00000203
969f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC_GREATER				0x00000204
970f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC_NOTEQUAL			0x00000205
971f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC_GEQUAL				0x00000206
972f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_TEST_FUNC_ALWAYS				0x00000207
973f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
974f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_REF					0x00001310
975f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
976f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC					0x00001314
977f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC_NEVER				0x00000200
978f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC_LESS				0x00000201
979f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC_EQUAL				0x00000202
980f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC_LEQUAL				0x00000203
981f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC_GREATER				0x00000204
982f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC_NOTEQUAL			0x00000205
983f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC_GEQUAL				0x00000206
984f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ALPHA_TEST_FUNC_ALWAYS				0x00000207
985f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
986f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_DRAW_TFB_STRIDE					0x00001318
987f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_DRAW_TFB_STRIDE__MIN				0x00000001
988f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_DRAW_TFB_STRIDE__MAX				0x00000fff
989f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
990f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_COLOR(i0)				       (0x0000131c + 0x4*(i0))
991f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_COLOR__ESIZE				0x00000004
992f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_COLOR__LEN				0x00000004
993f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
994f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK132C						0x0000132c
995f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
996f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_FLUSH					0x00001330
997f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_FLUSH_SPECIFIC				0x00000001
998f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_FLUSH_ENTRY__MASK				0x03fffff0
999f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_FLUSH_ENTRY__SHIFT				4
1000f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1001f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TIC_FLUSH					0x00001334
1002f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TIC_FLUSH_SPECIFIC				0x00000001
1003f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TIC_FLUSH_ENTRY__MASK				0x03fffff0
1004f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TIC_FLUSH_ENTRY__SHIFT				4
1005f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1006f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_CACHE_CTL					0x00001338
1007f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_CACHE_CTL_UNK1__MASK			0x00000030
1008f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_CACHE_CTL_UNK1__SHIFT			4
1009f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1010f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_SEPARATE_ALPHA				0x0000133c
1011f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1012f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_RGB				0x00001340
1013f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_RGB_FUNC_ADD			0x00008006
1014f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_RGB_MIN				0x00008007
1015f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_RGB_MAX				0x00008008
1016f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT		0x0000800a
1017f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT	0x0000800b
1018f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1019f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_FUNC_SRC_RGB				0x00001344
1020f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1021f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_FUNC_DST_RGB				0x00001348
1022f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1023f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_ALPHA				0x0000134c
1024f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_ALPHA_FUNC_ADD			0x00008006
1025f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_ALPHA_MIN			0x00008007
1026f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_ALPHA_MAX			0x00008008
1027f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT		0x0000800a
1028f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT	0x0000800b
1029f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1030f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_FUNC_SRC_ALPHA				0x00001350
1031f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1032f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1354						0x00001354
1033f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1034f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_FUNC_DST_ALPHA				0x00001358
1035f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1036f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_ENABLE_COMMON				0x0000135c
1037f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1038f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_ENABLE(i0)			       (0x00001360 + 0x4*(i0))
1039f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_ENABLE__ESIZE				0x00000004
1040f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BLEND_ENABLE__LEN				0x00000008
1041f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1042f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_ENABLE					0x00001380
1043f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1044f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL				0x00001384
1045f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL_ZERO			0x00000000
1046f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL_INVERT			0x0000150a
1047f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL_KEEP			0x00001e00
1048f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL_REPLACE			0x00001e01
1049f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL_INCR			0x00001e02
1050f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL_DECR			0x00001e03
1051f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP			0x00008507
1052f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP			0x00008508
1053f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1054f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL				0x00001388
1055f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_ZERO			0x00000000
1056f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_INVERT			0x0000150a
1057f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_KEEP			0x00001e00
1058f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE			0x00001e01
1059f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_INCR			0x00001e02
1060f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_DECR			0x00001e03
1061f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP		0x00008507
1062f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP		0x00008508
1063f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1064f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS				0x0000138c
1065f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS_ZERO			0x00000000
1066f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS_INVERT			0x0000150a
1067f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS_KEEP			0x00001e00
1068f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS_REPLACE			0x00001e01
1069f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS_INCR			0x00001e02
1070f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS_DECR			0x00001e03
1071f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP		0x00008507
1072f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP		0x00008508
1073f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1074f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC				0x00001390
1075f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_NEVER			0x00000200
1076f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_LESS			0x00000201
1077f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL			0x00000202
1078f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL			0x00000203
1079f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_GREATER			0x00000204
1080f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL		0x00000205
1081f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL			0x00000206
1082f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS			0x00000207
1083f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1084f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_REF				0x00001394
1085f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1086f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_MASK				0x00001398
1087f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1088f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_FRONT_FUNC_MASK				0x0000139c
1089f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1090f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK13A0						0x000013a0
1091f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1092f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_DRAW_TFB_BASE					0x000013a4
1093f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1094f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN				0x000013a8
1095f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN_0				0x00000001
1096f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN_1				0x00000010
1097f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN_2				0x00000100
1098f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN_3				0x00001000
1099f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN_4				0x00010000
1100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN_5				0x00100000
1101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN_6				0x01000000
1102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAG_COLOR_CLAMP_EN_7				0x10000000
1103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_Y_CONTROL				0x000013ac
1105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_Y_CONTROL_Y_NEGATE			0x00000001
1106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SCREEN_Y_CONTROL_TRIANGLE_RAST_FLIP		0x00000010
1107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_WIDTH					0x000013b0
1109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS(i0)				       (0x000013b4 + 0x4*(i0))
1111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS__ESIZE				0x00000004
1112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS__LEN					0x00000003
1113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS_SAMPLERS_LOG2__MASK			0x0000000f
1114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS_SAMPLERS_LOG2__SHIFT			0
1115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS_SAMPLERS_LOG2__MIN			0x00000000
1116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS_SAMPLERS_LOG2__MAX			0x00000004
1117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS_TEXTURES_LOG2__MASK			0x000000f0
1118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS_TEXTURES_LOG2__SHIFT			4
1119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS_TEXTURES_LOG2__MIN			0x00000000
1120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TEX_LIMITS_TEXTURES_LOG2__MAX			0x00000007
1121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_COORD_REPLACE_MAP(i0)		       (0x000013c0 + 0x4*(i0))
1123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_COORD_REPLACE_MAP__ESIZE			0x00000004
1124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_COORD_REPLACE_MAP__LEN			0x00000010
1125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1400_LANES					0x00001400
1127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1404						0x00001404
1129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1408						0x00001408
1131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_START_ID					0x0000140c
1133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_START_ID					0x00001410
1135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_START_ID					0x00001414
1137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK1418						0x00001418
1139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK141C						0x0000141c
1141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_VERTEX_OUTPUT_COUNT				0x00001420
1143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_VERTEX_OUTPUT_COUNT__MIN			0x00000001
1144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_VERTEX_OUTPUT_COUNT__MAX			0x00000400
1145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_FLUSH				0x0000142c
1147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1430						0x00001430
1149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1430_UNK0					0x00000010
1150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1430_UNK1					0x00000100
1151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_BASE					0x00001434
1153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_INSTANCE_BASE				0x00001438
1155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_FLAGS					0x0000143c
1157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_FLAGS_STENCIL_MASK			0x00000001
1158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_FLAGS_CLEAR_RECT__MASK			0x00000010
1159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_FLAGS_CLEAR_RECT__SHIFT			4
1160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_FLAGS_CLEAR_RECT_SCISSOR			0x00000000
1161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_FLAGS_CLEAR_RECT_VIEWPORT			0x00000010
1162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CODE_CB_FLUSH					0x00001440
1164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC(i0)				       (0x00001444 + 0x8*(i0))
1166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC__ESIZE					0x00000008
1167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC__LEN					0x00000003
1168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC_VALID					0x00000001
1169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC_SAMPLER__MASK				0x000000f0
1170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC_SAMPLER__SHIFT				4
1171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC_TSC__MASK				0x001ff000
1172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC_TSC__SHIFT				12
1173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC(i0)				       (0x00001448 + 0x8*(i0))
1175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC__ESIZE					0x00000008
1176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC__LEN					0x00000003
1177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC_VALID					0x00000001
1178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC_TEXTURE__MASK				0x000001fe
1179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC_TEXTURE__SHIFT				1
1180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC_TIC__MASK				0x7ffffe00
1181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC_TIC__SHIFT				9
1182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC2(i0)				       (0x00001468 + 0x8*(i0))
1184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC2__ESIZE				0x00000008
1185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC2__LEN					0x00000003
1186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC2_VALID					0x00000001
1187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC2_SAMPLER__MASK				0x00000010
1188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC2_SAMPLER__SHIFT			4
1189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC2_TSC__MASK				0x001ff000
1190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TSC2_TSC__SHIFT				12
1191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC2(i0)				       (0x0000146c + 0x8*(i0))
1193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC2__ESIZE				0x00000008
1194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC2__LEN					0x00000003
1195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC2_VALID					0x00000001
1196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC2_TEXTURE__MASK				0x00000002
1197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC2_TEXTURE__SHIFT			1
1198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC2_TIC__MASK				0x7ffffe00
1199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_BIND_TIC2_TIC__SHIFT				9
1200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_MAP(i0)				       (0x00001480 + 0x4*(i0))
1202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_MAP__ESIZE				0x00000004
1203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_MAP__LEN				0x00000020
1204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_HEIGHT					0x00001504
1206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_HEIGHT__MAX				0x00002000
1207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_HORIZ				0x00001508
1209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK		0x0000ffff
1210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_HORIZ_LOW__SHIFT		0
1211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_HORIZ_HIGH__MASK		0xffff0000
1212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_HORIZ_HIGH__SHIFT		16
1213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_VERT				0x0000150c
1215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_VERT_LOW__MASK			0x0000ffff
1216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_VERT_LOW__SHIFT		0
1217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK		0xffff0000
1218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL_RECT_VERT_HIGH__SHIFT		16
1219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE				0x00001510
1221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE_0				0x00000001
1222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE_1				0x00000002
1223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE_2				0x00000004
1224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE_3				0x00000008
1225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE_4				0x00000010
1226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE_5				0x00000020
1227f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE_6				0x00000040
1228f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_ENABLE_7				0x00000080
1229f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1230f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SAMPLECNT_ENABLE				0x00001514
1231f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1232f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_SIZE					0x00001518
1233f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1234f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_STATCTRS_ENABLE				0x0000151c
1235f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1236f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_SPRITE_ENABLE				0x00001520
1237f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1238f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK152C						0x0000152c
1239f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK152C_UNK0					0x00000001
1240f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK152C_UNK1					0x00000010
1241f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK152C_UNK2					0x00000100
1242f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK152C_UNK3__MASK				0x000ff000
1243f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK152C_UNK3__SHIFT				12
1244f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK152C_UNK3__MAX				0x00000028
1245f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1246f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET					0x00001530
1247f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_SAMPLECNT				0x00000001
1248f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_ZCULL_STATS			0x00000002
1249f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_COUNTER_RESET_STRMOUT_VERTICES			0x00000008
1250f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_TRANSFORM_FEEDBACK		0x00000010
1251f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_GENERATED_PRIMITIVES		0x00000011
1252f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_VFETCH_VERTICES			0x00000012
1253f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_VFETCH_PRIMITIVES			0x00000013
1254f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_VP_LAUNCHES			0x00000015
1255f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_GP_LAUNCHES			0x0000001a
1256f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_GP_PRIMITIVES_OUT			0x0000001b
1257f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_RAST_PRIMITIVES_PRECLIP		0x0000001c
1258f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_RAST_PRIMITIVES_POSTCLIP		0x0000001d
1259f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COUNTER_RESET_FP_PIXELS				0x0000001e
1260f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1261f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_ENABLE				0x00001534
1262f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1263f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_ENABLE					0x00001538
1264f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1265f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_CTRL				0x0000153c
1266f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE		0x00000001
1267f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_CTRL_ALPHA_TO_ONE			0x00000010
1268f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1269f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_NOPERSPECTIVE_BITMAP(i0)		       (0x00001540 + 0x4*(i0))
1270f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_NOPERSPECTIVE_BITMAP__ESIZE			0x00000004
1271f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_NOPERSPECTIVE_BITMAP__LEN			0x00000004
1272f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1273f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COND_ADDRESS_HIGH				0x00001550
1274f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1275f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COND_ADDRESS_LOW				0x00001554
1276f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1277f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COND_MODE					0x00001558
1278f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COND_MODE_NEVER					0x00000000
1279f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COND_MODE_ALWAYS				0x00000001
1280f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COND_MODE_RES_NON_ZERO				0x00000002
1281f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COND_MODE_EQUAL					0x00000003
1282f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COND_MODE_NOT_EQUAL				0x00000004
1283f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1284f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_ADDRESS_HIGH				0x0000155c
1285f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1286f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_ADDRESS_LOW					0x00001560
1287f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_ADDRESS_LOW__ALIGN				0x00000020
1288f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1289f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_LIMIT					0x00001564
1290f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TSC_LIMIT__MAX					0x00001fff
1291f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1292f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1568						0x00001568
1293f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1294f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_OFFSET_FACTOR				0x0000156c
1295f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1296f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_SMOOTH_ENABLE				0x00001570
1297f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1298f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TIC_ADDRESS_HIGH				0x00001574
1299f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1300f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TIC_ADDRESS_LOW					0x00001578
1301f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1302f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_TIC_LIMIT					0x0000157c
1303f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1304f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL(i0)				       (0x00001580 + 0x4*(i0))
1305f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL__ESIZE				0x00000004
1306f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL__LEN					0x00000004
1307f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL_UNK0					0x00000001
1308f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL_UNK1__MASK				0x00000070
1309f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL_UNK1__SHIFT				4
1310f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL_UNK2__MASK				0x00ffff00
1311f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL_UNK2__SHIFT				8
1312f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL_UNK3__MASK				0xff000000
1313f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PM_CONTROL_UNK3__SHIFT				24
1314f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1315f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_REGION					0x00001590
1316f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1317f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_TWO_SIDE_ENABLE				0x00001594
1318f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1319f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL				0x00001598
1320f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL_ZERO			0x00000000
1321f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL_INVERT			0x0000150a
1322f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL_KEEP			0x00001e00
1323f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL_REPLACE			0x00001e01
1324f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL_INCR			0x00001e02
1325f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL_DECR			0x00001e03
1326f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP			0x00008507
1327f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP			0x00008508
1328f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1329f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL				0x0000159c
1330f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL_ZERO			0x00000000
1331f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL_INVERT			0x0000150a
1332f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL_KEEP			0x00001e00
1333f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL_REPLACE			0x00001e01
1334f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL_INCR			0x00001e02
1335f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL_DECR			0x00001e03
1336f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP			0x00008507
1337f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP			0x00008508
1338f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1339f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS				0x000015a0
1340f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS_ZERO			0x00000000
1341f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS_INVERT			0x0000150a
1342f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS_KEEP			0x00001e00
1343f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS_REPLACE			0x00001e01
1344f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS_INCR			0x00001e02
1345f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS_DECR			0x00001e03
1346f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP			0x00008507
1347f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP			0x00008508
1348f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1349f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC				0x000015a4
1350f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC_NEVER			0x00000200
1351f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC_LESS			0x00000201
1352f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC_EQUAL			0x00000202
1353f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL			0x00000203
1354f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC_GREATER			0x00000204
1355f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL			0x00000205
1356f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL			0x00000206
1357f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS			0x00000207
1358f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1359f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15A8						0x000015a8
1360f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15A8_UNK1__MASK				0x00000007
1361f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15A8_UNK1__SHIFT				0
1362f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15A8_UNK2__MASK				0x00000070
1363f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15A8_UNK2__SHIFT				4
1364f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1365f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15AC						0x000015ac
1366f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1367f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15B0						0x000015b0
1368f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15B0_0					0x00000001
1369f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15B0_1					0x00000010
1370f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK15B0_2					0x00000100
1371f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1372f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CSAA_ENABLE					0x000015b4
1373f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1374f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRAMEBUFFER_SRGB				0x000015b8
1375f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1376f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_OFFSET_UNITS				0x000015bc
1377f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1378f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK15C4						0x000015c4
1379f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1380f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK15C8						0x000015c8
1381f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1382f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LAYER						0x000015cc
1383f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LAYER_IDX__MASK					0x0000ffff
1384f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LAYER_IDX__SHIFT				0
1385f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LAYER_USE_GP					0x00010000
1386f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1387f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE				0x000015d0
1388f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS1				0x00000000
1389f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS2				0x00000001
1390f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS4				0x00000002
1391f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS8				0x00000003
1392f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS8_ALT			0x00000004
1393f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS2_ALT			0x00000005
1394f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_UNK6				0x00000006
1395f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS4_CS4			0x00000008
1396f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS4_CS12			0x00000009
1397f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS8_CS8			0x0000000a
1398f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_MULTISAMPLE_MODE_MS8_CS24			0x0000000b
1399f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1400f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D				0x000015d4
1401f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE__MASK		0x0fffffff
1402f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE__SHIFT		0
1403f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_POINTS		0x00000001
1404f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES		0x00000002
1405f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP		0x00000003
1406f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES		0x00000004
1407f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP	0x00000005
1408f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES_ADJACENCY	0x0000000a
1409f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP_ADJACENCY	0x0000000b
1410f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES_ADJACENCY	0x0000000c
1411f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY	0x0000000d
1412f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_D3D_INSTANCE_NEXT			0x10000000
1413f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_VERTEX_BEGIN_D3D_PRIMITIVE_ID_CONT		0x20000000
1414f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VERTEX_BEGIN_D3D_INSTANCE_CONT			0x40000000
1415f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1416f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_END_D3D					0x000015d8
1417f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_END_D3D_UNK0				0x00000001
1418f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VERTEX_END_D3D_UNK1				0x00000002
1419f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1420f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL					0x000015dc
1421f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK			0x0fffffff
1422f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT		0
1423f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS		0x00000000
1424f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES			0x00000001
1425f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_LOOP		0x00000002
1426f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP		0x00000003
1427f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES		0x00000004
1428f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP	0x00000005
1429f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_FAN		0x00000006
1430f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS			0x00000007
1431f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUAD_STRIP		0x00000008
1432f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_POLYGON		0x00000009
1433f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES_ADJACENCY	0x0000000a
1434f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP_ADJACENCY	0x0000000b
1435f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES_ADJACENCY	0x0000000c
1436f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY	0x0000000d
1437f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT			0x10000000
1438f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_VERTEX_BEGIN_GL_PRIMITIVE_ID_CONT		0x20000000
1439f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VERTEX_BEGIN_GL_INSTANCE_CONT			0x40000000
1440f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1441f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_END_GL					0x000015e0
1442f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_END_GL_UNK0				0x00000001
1443f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VERTEX_END_GL_UNK1				0x00000002
1444f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1445f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_EDGEFLAG					0x000015e4
1446f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1447f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U32					0x000015e8
1448f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1449f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_SETUP				0x000015ec
1450f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_SETUP_OFFSET__MASK		0xc0000000
1451f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_SETUP_OFFSET__SHIFT		30
1452f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_SETUP_COUNT__MASK		0x3fffffff
1453f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_SETUP_COUNT__SHIFT		0
1454f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1455f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16					0x000015f0
1456f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_I0__MASK				0x0000ffff
1457f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_I0__SHIFT			0
1458f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_I1__MASK				0xffff0000
1459f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VB_ELEMENT_U16_I1__SHIFT			16
1460f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1461f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BASE_HIGH				0x000015f4
1462f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1463f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_BASE_LOW					0x000015f8
1464f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1465f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_DATA					0x00001640
1466f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1467f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PRIM_RESTART_ENABLE				0x00001644
1468f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1469f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PRIM_RESTART_INDEX				0x00001648
1470f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1471f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_GP_BUILTIN_ATTR_EN				0x0000164c
1472f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID			0x00000001
1473f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID		0x00000010
1474f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID		0x00000100
1475f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_GP_BUILTIN_ATTR_EN_UNK12			0x00001000
1476f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1477f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN(i0)				       (0x00001650 + 0x4*(i0))
1478f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN__ESIZE				0x00000004
1479f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN__LEN					0x00000002
1480f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_7__MASK				0xf0000000
1481f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_7__SHIFT				28
1482f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_7_X					0x10000000
1483f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_7_Y					0x20000000
1484f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_7_Z					0x40000000
1485f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_7_W					0x80000000
1486f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_6__MASK				0x0f000000
1487f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_6__SHIFT				24
1488f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_6_X					0x01000000
1489f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_6_Y					0x02000000
1490f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_6_Z					0x04000000
1491f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_6_W					0x08000000
1492f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_5__MASK				0x00f00000
1493f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_5__SHIFT				20
1494f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_5_X					0x00100000
1495f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_5_Y					0x00200000
1496f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_5_Z					0x00400000
1497f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_5_W					0x00800000
1498f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_4__MASK				0x000f0000
1499f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_4__SHIFT				16
1500f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_4_X					0x00010000
1501f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_4_Y					0x00020000
1502f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_4_Z					0x00040000
1503f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_4_W					0x00080000
1504f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_3__MASK				0x0000f000
1505f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_3__SHIFT				12
1506f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_3_X					0x00001000
1507f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_3_Y					0x00002000
1508f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_3_Z					0x00004000
1509f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_3_W					0x00008000
1510f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_2__MASK				0x00000f00
1511f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_2__SHIFT				8
1512f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_2_X					0x00000100
1513f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_2_Y					0x00000200
1514f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_2_Z					0x00000400
1515f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_2_W					0x00000800
1516f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_1__MASK				0x000000f0
1517f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_1__SHIFT				4
1518f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_1_X					0x00000010
1519f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_1_Y					0x00000020
1520f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_1_Z					0x00000040
1521f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_1_W					0x00000080
1522f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_0__MASK				0x0000000f
1523f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_0__SHIFT				0
1524f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_0_X					0x00000001
1525f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_0_Y					0x00000002
1526f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_0_Z					0x00000004
1527f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_ATTR_EN_0_W					0x00000008
1528f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1529f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_SMOOTH_ENABLE				0x00001658
1530f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1531f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_RASTER_RULES				0x0000165c
1532f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_RASTER_RULES_OGL				0x00000000
1533f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_RASTER_RULES_D3D				0x00000001
1534f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1535f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_SPRITE_CTRL				0x00001660
1536f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_SPRITE_CTRL_COORD_ORIGIN__MASK		0x00000010
1537f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_SPRITE_CTRL_COORD_ORIGIN__SHIFT		4
1538f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_SPRITE_CTRL_COORD_ORIGIN_LOWER_LEFT	0x00000000
1539f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POINT_SPRITE_CTRL_COORD_ORIGIN_UPPER_LEFT	0x00000010
1540f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1541f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_TEX_MISC					0x00001664
1542f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_TEX_MISC_UNK1					0x00000002
1543f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_TEX_MISC_SEAMLESS_CUBE_MAP			0x00000004
1544f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1545f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_SMOOTH_BLUR				0x00001668
1546f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_SMOOTH_BLUR_LOW				0x00000000
1547f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_SMOOTH_BLUR_MEDIUM				0x00000001
1548f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_SMOOTH_BLUR_HIGH				0x00000002
1549f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1550f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_STIPPLE_ENABLE				0x0000166c
1551f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1552f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT(i0)			       (0x00001670 + 0x4*(i0))
1553f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT__ESIZE				0x00000004
1554f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT__LEN				0x00000004
1555f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT_0__MASK				0x000000ff
1556f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT_0__SHIFT				0
1557f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT_1__MASK				0x0000ff00
1558f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT_1__SHIFT				8
1559f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT_2__MASK				0x00ff0000
1560f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT_2__SHIFT				16
1561f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT_3__MASK				0xff000000
1562f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COVERAGE_LUT_3__SHIFT				24
1563f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1564f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_STIPPLE					0x00001680
1565f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_STIPPLE_FACTOR_M1__MASK			0x000000ff
1566f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_STIPPLE_FACTOR_M1__SHIFT			0
1567f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_STIPPLE_PATTERN__MASK			0x00ffff00
1568f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_STIPPLE_PATTERN__SHIFT			8
1569f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1570f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_PROVOKING_VERTEX_LAST				0x00001684
1571f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1572f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_TWO_SIDE_ENABLE				0x00001688
1573f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1574f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_STIPPLE_ENABLE				0x0000168c
1575f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1576f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1690						0x00001690
1577f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1690_ALWAYS_DERIV				0x00000001
1578f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1690_UNK16					0x00010000
1579f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1580f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB					0x00001694
1581f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_PROGRAM__MASK			0x000000f0
1582f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_PROGRAM__SHIFT			4
1583f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_PROGRAM_VERTEX			0x00000000
1584f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_PROGRAM_GEOMETRY			0x00000020
1585f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_PROGRAM_FRAGMENT			0x00000030
1586f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_INDEX__MASK			0x00000f00
1587f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_INDEX__SHIFT			8
1588f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_BUFFER__MASK			0x0007f000
1589f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_BUFFER__SHIFT			12
1590f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SET_PROGRAM_CB_VALID				0x00000001
1591f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1592f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1698						0x00001698
1593f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1698_0					0x00000001
1594f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1698_1					0x00000010
1595f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1698_2					0x00000100
1596f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1597f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_SAMPLE_SHADING					0x0000169c
1598f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_SAMPLE_SHADING_MIN_SAMPLES__MASK		0x0000000f
1599f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_SAMPLE_SHADING_MIN_SAMPLES__SHIFT		0
1600f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_SAMPLE_SHADING_ENABLE				0x00000010
1601f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1602f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK16A0						0x000016a0
1603f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1604f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_SIZE				0x000016ac
1605f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1606f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_REG_ALLOC_TEMP				0x000016b0
1607f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1608f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK16B4						0x000016b4
1609f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_UNK16B4_UNK0					0x00000001
1610f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK16B4_UNK1					0x00000002
1611f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1612f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_REG_ALLOC_RESULT				0x000016b8
1613f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1614f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP(i0)			       (0x000016bc + 0x4*(i0))
1615f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP__ESIZE				0x00000004
1616f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP__LEN				0x00000011
1617f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_0__MASK				0x000000ff
1618f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_0__SHIFT				0
1619f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_1__MASK				0x0000ff00
1620f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_1__SHIFT				8
1621f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_2__MASK				0x00ff0000
1622f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_2__SHIFT				16
1623f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_3__MASK				0xff000000
1624f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VP_RESULT_MAP_3__SHIFT				24
1625f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1626f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_STIPPLE_PATTERN(i0)		       (0x00001700 + 0x4*(i0))
1627f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_STIPPLE_PATTERN__ESIZE			0x00000004
1628f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_STIPPLE_PATTERN__LEN			0x00000020
1629f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1630f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_OFFSET(i0)			       (0x00001780 + 0x4*(i0))
1631f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_OFFSET__ESIZE				0x00000004
1632f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_OFFSET__LEN				0x00000004
1633f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1634f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_ENABLE					0x00001798
1635f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1636f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_REG_ALLOC_TEMP				0x000017a0
1637f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1638f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_REG_ALLOC_RESULT				0x000017a8
1639f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1640f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_SIZE				0x000017ac
1641f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1642f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE			0x000017b0
1643f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE_POINTS			0x00000001
1644f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE_LINE_STRIP		0x00000002
1645f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE_TRIANGLE_STRIP		0x00000003
1646f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1647f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RASTERIZE_ENABLE				0x000017b4
1648f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1649f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_ENABLE					0x000017b8
1650f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1651f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP(i0)			       (0x000017fc + 0x4*(i0))
1652f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP__ESIZE				0x00000004
1653f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP__LEN				0x00000021
1654f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_0__MASK				0x000000ff
1655f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_0__SHIFT				0
1656f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_1__MASK				0x0000ff00
1657f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_1__SHIFT				8
1658f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_2__MASK				0x00ff0000
1659f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_2__SHIFT				16
1660f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_3__MASK				0xff000000
1661f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_RESULT_MAP_3__SHIFT				24
1662f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1663f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_POLYGON_OFFSET_CLAMP				0x0000187c
1664f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1665f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_PER_INSTANCE_ALT(i0)	       (0x00001880 + 0x4*(i0))
1666f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_PER_INSTANCE_ALT__ESIZE		0x00000004
1667f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_PER_INSTANCE_ALT__LEN		0x00000020
1668f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1669f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_GP_VIEWPORT_ID_ENABLE				0x00001900
1670f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1671f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_COLOR					0x00001904
1672f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_COLOR_FFC0_ID__MASK			0x000000ff
1673f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_COLOR_FFC0_ID__SHIFT			0
1674f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_COLOR_BFC0_ID__MASK			0x0000ff00
1675f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_COLOR_BFC0_ID__SHIFT			8
1676f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_COLOR_COLR_NR__MASK			0x00ff0000
1677f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_COLOR_COLR_NR__SHIFT			16
1678f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_COLOR_CLMP_EN				0x01000000
1679f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1680f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_CLIP					0x00001908
1681f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_CLIP_CLIP_START__MASK			0x000000ff
1682f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_CLIP_CLIP_START__SHIFT			0
1683f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_CLIP_CLIP_NUM__MASK			0x00000f00
1684f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_CLIP_CLIP_NUM__SHIFT			8
1685f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1686f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_LAYER					0x0000190c
1687f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_LAYER_LAYER_ID__MASK			0x000000ff
1688f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_LAYER_LAYER_ID__SHIFT			0
1689f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1690f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_PTSZ					0x00001910
1691f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_PTSZ_PTSZ_EN__MASK			0x00000001
1692f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_PTSZ_PTSZ_EN__SHIFT			0
1693f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_PTSZ_PTSZ_ID__MASK			0x00000ff0
1694f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_PTSZ_PTSZ_ID__SHIFT			4
1695f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1696f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_PRIM_ID				0x00001914
1697f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_PRIM_ID_PRIM_ID__MASK			0x000000ff
1698f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_SEMANTIC_PRIM_ID_PRIM_ID__SHIFT			0
1699f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1700f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CULL_FACE_ENABLE				0x00001918
1701f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1702f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRONT_FACE					0x0000191c
1703f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRONT_FACE_CW					0x00000900
1704f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FRONT_FACE_CCW					0x00000901
1705f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1706f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CULL_FACE					0x00001920
1707f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CULL_FACE_FRONT					0x00000404
1708f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CULL_FACE_BACK					0x00000405
1709f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CULL_FACE_FRONT_AND_BACK			0x00000408
1710f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1711f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LINE_LAST_PIXEL					0x00001924
1712f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1713f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_FP_MULTISAMPLE					0x00001928
1714f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_FP_MULTISAMPLE_EXPORT_SAMPLE_MASK		0x00000001
1715f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_FP_MULTISAMPLE_FORCE_PER_SAMPLE			0x00000002
1716f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1717f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEWPORT_TRANSFORM_EN				0x0000192c
1718f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1719f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL				0x0000193c
1720f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK0			0x00000001
1721f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1			0x00000002
1722f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_VIEW_VOLUME_CLIP_CTRL_UNK2			0x00000004
1723f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_NEAR		0x00000008
1724f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_FAR		0x00000010
1725f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK7			0x00000080
1726f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK10			0x00000400
1727f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK11			0x00000800
1728f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__MASK		0x00003000
1729f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__SHIFT		12
1730f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK0		0x00000000
1731f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1		0x00001000
1732f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK2		0x00002000
1733f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1734f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE				0x00001940
1735f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_0__MASK			0x00000001
1736f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_0__SHIFT			0
1737f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_0_CLIP			0x00000000
1738f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_0_CULL			0x00000001
1739f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_1__MASK			0x00000010
1740f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_1__SHIFT			4
1741f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_1_CLIP			0x00000000
1742f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_1_CULL			0x00000010
1743f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_2__MASK			0x00000100
1744f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_2__SHIFT			8
1745f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_2_CLIP			0x00000000
1746f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_2_CULL			0x00000100
1747f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_3__MASK			0x00001000
1748f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_3__SHIFT			12
1749f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_3_CLIP			0x00000000
1750f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_3_CULL			0x00001000
1751f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_4__MASK			0x00010000
1752f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_4__SHIFT			16
1753f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_4_CLIP			0x00000000
1754f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_4_CULL			0x00010000
1755f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_5__MASK			0x00100000
1756f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_5__SHIFT			20
1757f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_5_CLIP			0x00000000
1758f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_5_CULL			0x00100000
1759f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_6__MASK			0x01000000
1760f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_6__SHIFT			24
1761f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_6_CLIP			0x00000000
1762f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_6_CULL			0x01000000
1763f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_7__MASK			0x10000000
1764f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_7__SHIFT			28
1765f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_7_CLIP			0x00000000
1766f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_DISTANCE_MODE_7_CULL			0x10000000
1767f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1768f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK1944						0x00001944
1769f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1770f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECTS_EN					0x0000194c
1771f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1772f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECTS_MODE					0x00001950
1773f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECTS_MODE_INSIDE_ANY			0x00000000
1774f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECTS_MODE_OUTSIDE_ALL			0x00000001
1775f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIP_RECTS_MODE_NEVER				0x00000002
1776f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1777f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_VALIDATE					0x00001954
1778f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_VALIDATE_CLEAR_UNK0			0x00000001
1779f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_VALIDATE_CLEAR_UNK1			0x00000010
1780f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1781f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZCULL_INVALIDATE				0x00001958
1782f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1783f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK1960						0x00001960
1784f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK1960_0					0x00000001
1785f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_UNK1960_1					0x00000010
1786f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1787f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1968						0x00001968
1788f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1968_0					0x00000001
1789f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1968_1					0x00000010
1790f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1791f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_CTRL_UNK196C					0x0000196c
1792f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_CTRL_UNK196C_0				0x00000001
1793f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_CTRL_UNK196C_1				0x00000010
1794f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1795f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1978						0x00001978
1796f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1797f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_ENABLE					0x0000197c
1798f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1799f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_WIDTH					0x00001980
1800f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_WIDTH__MAX				0x00002000
1801f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_WIDTH__ALIGN				0x00000040
1802f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1803f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_ID					0x00001984
1804f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1805f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL				0x00001988
1806f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK__MASK			0xff000000
1807f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK__SHIFT		24
1808f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK_X			0x01000000
1809f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK_Y			0x02000000
1810f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK_Z			0x04000000
1811f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK_W			0x08000000
1812f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT_NONFLAT__MASK		0x00ff0000
1813f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT_NONFLAT__SHIFT	16
1814f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_OFFSET__MASK		0x0000ff00
1815f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_OFFSET__SHIFT		8
1816f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT__MASK			0x000000ff
1817f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT__SHIFT		0
1818f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1819f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_REG_ALLOC_TEMP				0x0000198c
1820f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1821f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_REG_MODE					0x000019a0
1822f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_REG_MODE_PACKED					0x00000001
1823f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_REG_MODE_STRIPED				0x00000002
1824f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1825f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_CONTROL					0x000019a8
1826f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_CONTROL_MULTIPLE_RESULTS			0x00000001
1827f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_CONTROL_EXPORTS_Z				0x00000100
1828f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_FP_CONTROL_USES_KIL				0x00100000
1829f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1830f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DEPTH_BOUNDS_EN					0x000019bc
1831f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1832f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK19C0						0x000019c0
1833f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1834f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_ENABLE					0x000019c4
1835f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1836f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP					0x000019c8
1837f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_CLEAR					0x00001500
1838f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_AND					0x00001501
1839f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_AND_REVERSE				0x00001502
1840f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_COPY					0x00001503
1841f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_AND_INVERTED				0x00001504
1842f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_NOOP					0x00001505
1843f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_XOR					0x00001506
1844f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_OR					0x00001507
1845f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_NOR					0x00001508
1846f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_EQUIV					0x00001509
1847f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_INVERT					0x0000150a
1848f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_OR_REVERSE				0x0000150b
1849f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_COPY_INVERTED				0x0000150c
1850f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_OR_INVERTED				0x0000150d
1851f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_NAND					0x0000150e
1852f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_LOGIC_OP_SET					0x0000150f
1853f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1854f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_ZETA_COMP_ENABLE				0x000019cc
1855f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1856f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS					0x000019d0
1857f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_Z					0x00000001
1858f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_S					0x00000002
1859f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_R					0x00000004
1860f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_G					0x00000008
1861f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_B					0x00000010
1862f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_A					0x00000020
1863f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_RT__MASK				0x000003c0
1864f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_RT__SHIFT				6
1865f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_LAYER__MASK			0x001ffc00
1866f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLEAR_BUFFERS_LAYER__SHIFT			10
1867f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1868f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_CLIPID_FILL					0x000019d4
1869f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1870f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK19D8(i0)				       (0x000019d8 + 0x4*(i0))
1871f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK19D8__ESIZE					0x00000004
1872f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK19D8__LEN					0x00000002
1873f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1874f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_COMP_ENABLE(i0)			       (0x000019e0 + 0x4*(i0))
1875f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_COMP_ENABLE__ESIZE				0x00000004
1876f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_RT_COMP_ENABLE__LEN				0x00000008
1877f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1878f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COLOR_MASK(i0)				       (0x00001a00 + 0x4*(i0))
1879f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COLOR_MASK__ESIZE				0x00000004
1880f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COLOR_MASK__LEN					0x00000008
1881f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COLOR_MASK_R					0x0000000f
1882f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COLOR_MASK_G					0x000000f0
1883f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COLOR_MASK_B					0x00000f00
1884f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_COLOR_MASK_A					0x0000f000
1885f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1886f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A20						0x00001a20
1887f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1888f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_DELAY						0x00001a24
1889f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1890f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A28						0x00001a28
1891f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A28_0__MASK					0x000000ff
1892f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A28_0__SHIFT				0
1893f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A28_1					0x00000100
1894f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1895f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A2C						0x00001a2c
1896f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1897f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A30						0x00001a30
1898f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1899f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A34						0x00001a34
1900f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1901f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A38						0x00001a38
1902f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1903f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A3C						0x00001a3c
1904f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1905f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40(i0)				       (0x00001a40 + 0x4*(i0))
1906f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40__ESIZE					0x00000004
1907f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40__LEN					0x00000010
1908f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_0__MASK					0x00000007
1909f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_0__SHIFT				0
1910f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_1__MASK					0x00000070
1911f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_1__SHIFT				4
1912f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_2__MASK					0x00000700
1913f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_2__SHIFT				8
1914f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_3__MASK					0x00007000
1915f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_3__SHIFT				12
1916f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_4__MASK					0x00070000
1917f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_4__SHIFT				16
1918f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_5__MASK					0x00700000
1919f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_5__SHIFT				20
1920f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_6__MASK					0x07000000
1921f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_6__SHIFT				24
1922f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_7__MASK					0x70000000
1923f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_UNK1A40_7__SHIFT				28
1924f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1925f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_ADDRESS_HIGH(i0)		       (0x00001a80 + 0x10*(i0))
1926f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_ADDRESS_HIGH__ESIZE			0x00000010
1927f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_ADDRESS_HIGH__LEN			0x00000004
1928f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1929f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_ADDRESS_LOW(i0)			       (0x00001a84 + 0x10*(i0))
1930f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_ADDRESS_LOW__ESIZE			0x00000010
1931f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_ADDRESS_LOW__LEN			0x00000004
1932f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1933f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_NUM_ATTRIBS(i0)			       (0x00001a88 + 0x10*(i0))
1934f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_NUM_ATTRIBS__ESIZE			0x00000010
1935f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_NUM_ATTRIBS__LEN			0x00000004
1936f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_STRMOUT_NUM_ATTRIBS__MAX			0x00000040
1937f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1938f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_OFFSET_LIMIT(i0)		       (0x00001a8c + 0x10*(i0))
1939f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_OFFSET_LIMIT__ESIZE			0x00000010
1940f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_STRMOUT_OFFSET_LIMIT__LEN			0x00000004
1941f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1942f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB(i0)			       (0x00001ac0 + 0x4*(i0))
1943f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB__ESIZE			0x00000004
1944f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB__LEN			0x00000010
1945f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_BUFFER__MASK		0x0000000f
1946f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_BUFFER__SHIFT		0
1947f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_CONST			0x00000010
1948f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_OFFSET__MASK		0x0007ffe0
1949f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_OFFSET__SHIFT		5
1950f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT__MASK		0x01f80000
1951f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT__SHIFT		19
1952f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32_32		0x00080000
1953f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32		0x00100000
1954f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16_16		0x00180000
1955f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32_32		0x00200000
1956f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16		0x00280000
1957f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8_8		0x00500000
1958f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16_16		0x00780000
1959f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32			0x00900000
1960f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8		0x00980000
1961f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8_8			0x00c00000
1962f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16			0x00d80000
1963f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8			0x00e80000
1964f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_10_10_10_2		0x01800000
1965f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE__MASK			0x7e000000
1966f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE__SHIFT			25
1967f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT			0x7e000000
1968f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_UNORM			0x24000000
1969f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_SNORM			0x12000000
1970f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_USCALED		0x5a000000
1971f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED		0x6c000000
1972f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_UINT			0x48000000
1973f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_SINT			0x36000000
1974f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_VERTEX_ARRAY_ATTRIB_BGRA			0x80000000
1975f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1976f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_ADDRESS_HIGH				0x00001b00
1977f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1978f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_ADDRESS_LOW				0x00001b04
1979f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1980f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_SEQUENCE					0x00001b08
1981f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
1982f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET					0x00001b0c
1983f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_MODE__MASK				0x00000003
1984f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_MODE__SHIFT				0
1985f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_MODE_WRITE_UNK0			0x00000000
1986f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_MODE_SYNC				0x00000001
1987f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_MODE_WRITE_UNK2			0x00000002
1988f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNK4					0x00000010
1989f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_QUERY_GET_INDEX__MASK				0x000000e0
1990f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_QUERY_GET_INDEX__SHIFT				5
1991f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNK8					0x00000100
1992f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT__MASK				0x0000f000
1993f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT__SHIFT				12
1994f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_UNK00				0x00000000
1995f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_VFETCH				0x00001000
1996f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_VP				0x00002000
1997f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_RAST				0x00004000
1998f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_STRMOUT				0x00005000
1999f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_GP				0x00006000
2000f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_ZCULL				0x00007000
2001f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_TPROP				0x0000a000
2002f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_UNK0C				0x0000c000
2003f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_UNIT_CROP				0x0000f000
2004f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_SYNC_COND__MASK			0x00010000
2005f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_SYNC_COND__SHIFT			16
2006f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_SYNC_COND_NEQUAL			0x00000000
2007f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_SYNC_COND_GREATER			0x00010000
2008f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_INTR					0x00100000
2009f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_TYPE__MASK				0x00800000
2010f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_TYPE__SHIFT				23
2011f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_TYPE_QUERY				0x00000000
2012f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_TYPE_COUNTER				0x00800000
2013f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT__MASK			0x0f000000
2014f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT__SHIFT			24
2015f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT_ZERO			0x00000000
2016f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT_SAMPLECNT		0x01000000
2017f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT_STRMOUT_NO_OVERFLOW	0x02000000
2018f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_QUERY_GET_QUERY_SELECT_STRMOUT_DROPPED_PRIMITIVES	0x03000000
2019f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_QUERY_GET_QUERY_SELECT_STRMOUT_VERTICES		0x04000000
2020f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT_ZCULL_STAT_UNK0		0x05000000
2021f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT_ZCULL_STAT_UNK1		0x06000000
2022f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT_ZCULL_STAT_UNK2		0x07000000
2023f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_QUERY_SELECT_ZCULL_STAT_UNK3		0x08000000
2024f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_QUERY_GET_QUERY_SELECT_RT_UNK14			0x0c000000
2025f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_QUERY_GET_QUERY_SELECT_STRMOUT_OFFSET		0x0d000000
2026f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT__MASK			0x0f000000
2027f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT__SHIFT			24
2028f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_VFETCH_VERTICES	0x00000000
2029f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_VFETCH_PRIMITIVES	0x01000000
2030f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_VP_LAUNCHES		0x02000000
2031f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_GP_LAUNCHES		0x03000000
2032f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_GP_PRIMITIVES_OUT	0x04000000
2033f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_TRANSFORM_FEEDBACK	0x05000000
2034f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_GENERATED_PRIMITIVES	0x06000000
2035f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_RAST_PRIMITIVES_PRECLIP	0x07000000
2036f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_RAST_PRIMITIVES_POSTCLIP	0x08000000
2037f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_COUNTER_SELECT_FP_PIXELS		0x09000000
2038f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV84_3D_QUERY_GET_COUNTER_SELECT_UNK0A			0x0a000000
2039f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA0_3D_QUERY_GET_COUNTER_SELECT_UNK0C			0x0c000000
2040f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NV50_3D_QUERY_GET_SHORT					0x10000000
2041f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2042f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT(i0)			       (0x00001b3c + 0x4*(i0))
2043f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT__ESIZE			0x00000004
2044f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT__LEN				0x00000020
2045f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT_0__MASK			0x000000ff
2046f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT_0__SHIFT			0
2047f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT_1__MASK			0x0000ff00
2048f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT_1__SHIFT			8
2049f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT_2__MASK			0x00ff0000
2050f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT_2__SHIFT			16
2051f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT_3__MASK			0xff000000
2052f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VP_RESULT_MAP_ALT_3__SHIFT			24
2053f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2054f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_FETCH_ALT(i0)		       (0x00001c00 + 0x10*(i0))
2055f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_FETCH_ALT__ESIZE			0x00000010
2056f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_FETCH_ALT__LEN			0x00000020
2057f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_FETCH_ALT_STRIDE__MASK		0x00000fff
2058f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_FETCH_ALT_STRIDE__SHIFT		0
2059f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_FETCH_ALT_ENABLE			0x20000000
2060f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2061f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_START_HIGH_ALT(i0)		       (0x00001c04 + 0x10*(i0))
2062f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_START_HIGH_ALT__ESIZE		0x00000010
2063f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_START_HIGH_ALT__LEN		0x00000020
2064f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2065f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_START_LOW_ALT(i0)		       (0x00001c08 + 0x10*(i0))
2066f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_START_LOW_ALT__ESIZE		0x00000010
2067f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_START_LOW_ALT__LEN			0x00000020
2068f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2069f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_DIVISOR_ALT(i0)		       (0x00001c0c + 0x10*(i0))
2070f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_DIVISOR_ALT__ESIZE			0x00000010
2071f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_DIVISOR_ALT__LEN			0x00000020
2072f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2073f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND(i0)				       (0x00001e00 + 0x20*(i0))
2074f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND__ESIZE					0x00000020
2075f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND__LEN					0x00000008
2076f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2077f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_SEPARATE_ALPHA(i0)		       (0x00001e00 + 0x20*(i0))
2078f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2079f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_RGB(i0)			       (0x00001e04 + 0x20*(i0))
2080f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_RGB_FUNC_ADD			0x00008006
2081f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_RGB_MIN				0x00008007
2082f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_RGB_MAX				0x00008008
2083f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_RGB_FUNC_SUBTRACT		0x0000800a
2084f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT	0x0000800b
2085f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2086f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_FUNC_SRC_RGB(i0)			       (0x00001e08 + 0x20*(i0))
2087f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2088f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_FUNC_DST_RGB(i0)			       (0x00001e0c + 0x20*(i0))
2089f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2090f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_ALPHA(i0)		       (0x00001e10 + 0x20*(i0))
2091f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_ALPHA_FUNC_ADD			0x00008006
2092f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_ALPHA_MIN			0x00008007
2093f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_ALPHA_MAX			0x00008008
2094f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_ALPHA_FUNC_SUBTRACT		0x0000800a
2095f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT	0x0000800b
2096f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2097f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_FUNC_SRC_ALPHA(i0)		       (0x00001e14 + 0x20*(i0))
2098f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2099f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_IBLEND_FUNC_DST_ALPHA(i0)		       (0x00001e18 + 0x20*(i0))
2100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_LIMIT_HIGH_ALT(i0)		       (0x00001f00 + 0x8*(i0))
2102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_LIMIT_HIGH_ALT__ESIZE		0x00000008
2103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_LIMIT_HIGH_ALT__LEN		0x00000020
2104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_LIMIT_LOW_ALT(i0)		       (0x00001f04 + 0x8*(i0))
2106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_LIMIT_LOW_ALT__ESIZE		0x00000008
2107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NVA3_3D_VERTEX_ARRAY_LIMIT_LOW_ALT__LEN			0x00000020
2108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* RNNDB_NV50_3D_XML */
2111