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