From 72283020093525ca5248d7f408e88b0bcba1e52b Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Tue, 30 Dec 2014 22:27:57 -0500 Subject: nvc0: regenerate rnndb headers The headers hadn't been regenerated in a long time and had seen a number of manual modifications. A few changes: - remove nvc0_2d entirely, use the nv50 header which has the nvc0 values too - remove 3ddefs, it's identical to the nv50 file - move macros out into a separate file Also the upstream rnndb changed the overall chip naming convention; this was fixed up manually in the generated files until a better solution is determined. Signed-off-by: Ilia Mirkin --- src/gallium/drivers/nouveau/Makefile.sources | 3 +- src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h | 380 ------- src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h | 1115 ++++++++++++++++---- src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h | 98 -- .../drivers/nouveau/nvc0/nvc0_compute.xml.h | 67 +- src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 5 +- src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h | 67 +- src/gallium/drivers/nouveau/nvc0/nvc0_macros.h | 32 + src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 6 +- src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 6 +- src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 22 +- src/gallium/drivers/nouveau/nvc0/nvc0_tex.c | 12 +- src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c | 8 +- src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 6 +- src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h | 4 +- .../drivers/nouveau/nvc0/nve4_compute.xml.h | 61 +- src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h | 102 +- 17 files changed, 1157 insertions(+), 837 deletions(-) delete mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h delete mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h create mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_macros.h diff --git a/src/gallium/drivers/nouveau/Makefile.sources b/src/gallium/drivers/nouveau/Makefile.sources index 64f9608..3fae3bc 100644 --- a/src/gallium/drivers/nouveau/Makefile.sources +++ b/src/gallium/drivers/nouveau/Makefile.sources @@ -137,8 +137,6 @@ NVC0_CODEGEN_SOURCES := \ codegen/nv50_ir_target_nvc0.h NVC0_C_SOURCES := \ - nvc0/nvc0_2d.xml.h \ - nvc0/nvc0_3ddefs.xml.h \ nvc0/nvc0_3d.xml.h \ nvc0/nvc0_compute.c \ nvc0/nvc0_compute.h \ @@ -147,6 +145,7 @@ NVC0_C_SOURCES := \ nvc0/nvc0_context.h \ nvc0/nvc0_formats.c \ nvc0/nvc0_m2mf.xml.h \ + nvc0/nvc0_macros.h \ nvc0/nvc0_miptree.c \ nvc0/nvc0_program.c \ nvc0/nvc0_program.h \ diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h deleted file mode 100644 index 9a488c1..0000000 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h +++ /dev/null @@ -1,380 +0,0 @@ -#ifndef NVC0_2D_XML -#define NVC0_2D_XML - -/* Autogenerated file, DO NOT EDIT manually! - -This file was generated by the rules-ng-ng headergen tool in this git repository: -http://0x04.net/cgit/index.cgi/rules-ng-ng -git clone git://0x04.net/rules-ng-ng - -The rules-ng-ng source files this header was generated from are: -- nvc0_2d.xml ( 9454 bytes, from 2010-10-16 16:03:11) -- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37) -- nv_object.xml ( 11379 bytes, from 2010-10-16 11:43:24) -- nvchipsets.xml ( 2907 bytes, from 2010-10-15 16:28:21) -- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58) -- nv50_defs.xml ( 4482 bytes, from 2010-10-03 13:18:37) - -Copyright (C) 2006-2010 by the following authors: -- Artur Huillet (ahuillet) -- Ben Skeggs (darktama, darktama_) -- B. R. (koala_br) -- Carlos Martin (carlosmn) -- Christoph Bumiller (calim, chrisbmr) -- Dawid Gajownik (gajownik) -- Dmitry Baryshkov -- Dmitry Eremin-Solenikov (lumag) -- EdB (edb_) -- Erik Waling (erikwaling) -- Francisco Jerez (curro, curro_, currojerez) -- imirkin (imirkin) -- jb17bsome (jb17bsome) -- Jeremy Kolb (kjeremy) -- Laurent Carlier (lordheavy) -- Luca Barbieri (lb, lb1) -- Maarten Maathuis (stillunknown) -- Marcin Koƛcielnicki (mwk, koriakin) -- Mark Carey (careym) -- Matthieu Castet (mat-c) -- nvidiaman (nvidiaman) -- Patrice Mandin (pmandin, pmdata) -- Pekka Paalanen (pq, ppaalanen) -- Peter Popov (ironpeter) -- Richard Hughes (hughsient) -- Rudi Cilibrasi (cilibrar) -- Serge Martin -- Simon Raffeiner -- Stephane Loeuillet (leroutier) -- Stephane Marchesin (marcheu) -- sturmflut (sturmflut) -- Sylvain Munaut -- Victor Stinner (haypo) -- Wladmir van der Laan (miathan6) -- Younes Manton (ymanton) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ - - - -#define NVC0_2D_DST_FORMAT 0x00000200 - -#define NVC0_2D_DST_LINEAR 0x00000204 - -#define NVC0_2D_DST_TILE_MODE 0x00000208 - -#define NVC0_2D_DST_DEPTH 0x0000020c - -#define NVC0_2D_DST_LAYER 0x00000210 - -#define NVC0_2D_DST_PITCH 0x00000214 - -#define NVC0_2D_DST_WIDTH 0x00000218 - -#define NVC0_2D_DST_HEIGHT 0x0000021c - -#define NVC0_2D_DST_ADDRESS_HIGH 0x00000220 - -#define NVC0_2D_DST_ADDRESS_LOW 0x00000224 - -#define NVC0_2D_UNK228 0x00000228 - -#define NVC0_2D_SRC_FORMAT 0x00000230 - -#define NVC0_2D_SRC_LINEAR 0x00000234 - -#define NVC0_2D_SRC_TILE_MODE 0x00000238 - -#define NVC0_2D_SRC_DEPTH 0x0000023c - -#define NVC0_2D_SRC_LAYER 0x00000240 - -#define NVC0_2D_SRC_PITCH 0x00000244 -#define NVC0_2D_SRC_PITCH__MAX 0x00040000 - -#define NVC0_2D_SRC_WIDTH 0x00000248 -#define NVC0_2D_SRC_WIDTH__MAX 0x00010000 - -#define NVC0_2D_SRC_HEIGHT 0x0000024c -#define NVC0_2D_SRC_HEIGHT__MAX 0x00010000 - -#define NVC0_2D_SRC_ADDRESS_HIGH 0x00000250 - -#define NVC0_2D_SRC_ADDRESS_LOW 0x00000254 - -#define NVC0_2D_UNK258 0x00000258 - -#define NVC0_2D_SINGLE_GPC 0x00000260 - -#define NVC0_2D_COND_ADDRESS_HIGH 0x00000264 - -#define NVC0_2D_COND_ADDRESS_LOW 0x00000268 - -#define NVC0_2D_COND_MODE 0x0000026c -#define NVC0_2D_COND_MODE_NEVER 0x00000000 -#define NVC0_2D_COND_MODE_ALWAYS 0x00000001 -#define NVC0_2D_COND_MODE_RES_NON_ZERO 0x00000002 -#define NVC0_2D_COND_MODE_EQUAL 0x00000003 -#define NVC0_2D_COND_MODE_NOT_EQUAL 0x00000004 - -#define NVC0_2D_CLIP_X 0x00000280 - -#define NVC0_2D_CLIP_Y 0x00000284 - -#define NVC0_2D_CLIP_W 0x00000288 - -#define NVC0_2D_CLIP_H 0x0000028c - -#define NVC0_2D_CLIP_ENABLE 0x00000290 - -#define NVC0_2D_COLOR_KEY_FORMAT 0x00000294 -#define NVC0_2D_COLOR_KEY_FORMAT_16BPP 0x00000000 -#define NVC0_2D_COLOR_KEY_FORMAT_15BPP 0x00000001 -#define NVC0_2D_COLOR_KEY_FORMAT_24BPP 0x00000002 -#define NVC0_2D_COLOR_KEY_FORMAT_30BPP 0x00000003 -#define NVC0_2D_COLOR_KEY_FORMAT_8BPP 0x00000004 -#define NVC0_2D_COLOR_KEY_FORMAT_16BPP2 0x00000005 -#define NVC0_2D_COLOR_KEY_FORMAT_32BPP 0x00000006 - -#define NVC0_2D_COLOR_KEY 0x00000298 - -#define NVC0_2D_COLOR_KEY_ENABLE 0x0000029c - -#define NVC0_2D_ROP 0x000002a0 - -#define NVC0_2D_BETA1 0x000002a4 - -#define NVC0_2D_BETA4 0x000002a8 - -#define NVC0_2D_OPERATION 0x000002ac -#define NVC0_2D_OPERATION_SRCCOPY_AND 0x00000000 -#define NVC0_2D_OPERATION_ROP_AND 0x00000001 -#define NVC0_2D_OPERATION_BLEND 0x00000002 -#define NVC0_2D_OPERATION_SRCCOPY 0x00000003 -#define NVC0_2D_OPERATION_ROP 0x00000004 -#define NVC0_2D_OPERATION_SRCCOPY_PREMULT 0x00000005 -#define NVC0_2D_OPERATION_BLEND_PREMULT 0x00000006 - -#define NVC0_2D_UNK2B0 0x000002b0 -#define NVC0_2D_UNK2B0_UNK0__MASK 0x0000003f -#define NVC0_2D_UNK2B0_UNK0__SHIFT 0 -#define NVC0_2D_UNK2B0_UNK1__MASK 0x00003f00 -#define NVC0_2D_UNK2B0_UNK1__SHIFT 8 - -#define NVC0_2D_PATTERN_SELECT 0x000002b4 -#define NVC0_2D_PATTERN_SELECT_MONO_8X8 0x00000000 -#define NVC0_2D_PATTERN_SELECT_MONO_64X1 0x00000001 -#define NVC0_2D_PATTERN_SELECT_MONO_1X64 0x00000002 -#define NVC0_2D_PATTERN_SELECT_COLOR 0x00000003 - -#define NVC0_2D_PATTERN_COLOR_FORMAT 0x000002e8 -#define NVC0_2D_PATTERN_COLOR_FORMAT_16BPP 0x00000000 -#define NVC0_2D_PATTERN_COLOR_FORMAT_15BPP 0x00000001 -#define NVC0_2D_PATTERN_COLOR_FORMAT_32BPP 0x00000002 -#define NVC0_2D_PATTERN_COLOR_FORMAT_8BPP 0x00000003 -#define NVC0_2D_PATTERN_COLOR_FORMAT_UNK4 0x00000004 -#define NVC0_2D_PATTERN_COLOR_FORMAT_UNK5 0x00000005 - -#define NVC0_2D_PATTERN_MONO_FORMAT 0x000002ec -#define NVC0_2D_PATTERN_MONO_FORMAT_CGA6 0x00000000 -#define NVC0_2D_PATTERN_MONO_FORMAT_LE 0x00000001 - -#define NVC0_2D_PATTERN_COLOR(i0) (0x000002f0 + 0x4*(i0)) -#define NVC0_2D_PATTERN_COLOR__ESIZE 0x00000004 -#define NVC0_2D_PATTERN_COLOR__LEN 0x00000002 - -#define NVC0_2D_PATTERN_BITMAP(i0) (0x000002f8 + 0x4*(i0)) -#define NVC0_2D_PATTERN_BITMAP__ESIZE 0x00000004 -#define NVC0_2D_PATTERN_BITMAP__LEN 0x00000002 - -#define NVC0_2D_PATTERN_X8R8G8B8(i0) (0x00000300 + 0x4*(i0)) -#define NVC0_2D_PATTERN_X8R8G8B8__ESIZE 0x00000004 -#define NVC0_2D_PATTERN_X8R8G8B8__LEN 0x00000040 -#define NVC0_2D_PATTERN_X8R8G8B8_B__MASK 0x000000ff -#define NVC0_2D_PATTERN_X8R8G8B8_B__SHIFT 0 -#define NVC0_2D_PATTERN_X8R8G8B8_G__MASK 0x0000ff00 -#define NVC0_2D_PATTERN_X8R8G8B8_G__SHIFT 8 -#define NVC0_2D_PATTERN_X8R8G8B8_R__MASK 0x00ff0000 -#define NVC0_2D_PATTERN_X8R8G8B8_R__SHIFT 16 - -#define NVC0_2D_PATTERN_R5G6B5(i0) (0x00000400 + 0x4*(i0)) -#define NVC0_2D_PATTERN_R5G6B5__ESIZE 0x00000004 -#define NVC0_2D_PATTERN_R5G6B5__LEN 0x00000020 -#define NVC0_2D_PATTERN_R5G6B5_B0__MASK 0x0000001f -#define NVC0_2D_PATTERN_R5G6B5_B0__SHIFT 0 -#define NVC0_2D_PATTERN_R5G6B5_G0__MASK 0x000007e0 -#define NVC0_2D_PATTERN_R5G6B5_G0__SHIFT 5 -#define NVC0_2D_PATTERN_R5G6B5_R0__MASK 0x0000f800 -#define NVC0_2D_PATTERN_R5G6B5_R0__SHIFT 11 -#define NVC0_2D_PATTERN_R5G6B5_B1__MASK 0x001f0000 -#define NVC0_2D_PATTERN_R5G6B5_B1__SHIFT 16 -#define NVC0_2D_PATTERN_R5G6B5_G1__MASK 0x07e00000 -#define NVC0_2D_PATTERN_R5G6B5_G1__SHIFT 21 -#define NVC0_2D_PATTERN_R5G6B5_R1__MASK 0xf8000000 -#define NVC0_2D_PATTERN_R5G6B5_R1__SHIFT 27 - -#define NVC0_2D_PATTERN_X1R5G5B5(i0) (0x00000480 + 0x4*(i0)) -#define NVC0_2D_PATTERN_X1R5G5B5__ESIZE 0x00000004 -#define NVC0_2D_PATTERN_X1R5G5B5__LEN 0x00000020 -#define NVC0_2D_PATTERN_X1R5G5B5_B0__MASK 0x0000001f -#define NVC0_2D_PATTERN_X1R5G5B5_B0__SHIFT 0 -#define NVC0_2D_PATTERN_X1R5G5B5_G0__MASK 0x000003e0 -#define NVC0_2D_PATTERN_X1R5G5B5_G0__SHIFT 5 -#define NVC0_2D_PATTERN_X1R5G5B5_R0__MASK 0x00007c00 -#define NVC0_2D_PATTERN_X1R5G5B5_R0__SHIFT 10 -#define NVC0_2D_PATTERN_X1R5G5B5_B1__MASK 0x001f0000 -#define NVC0_2D_PATTERN_X1R5G5B5_B1__SHIFT 16 -#define NVC0_2D_PATTERN_X1R5G5B5_G1__MASK 0x03e00000 -#define NVC0_2D_PATTERN_X1R5G5B5_G1__SHIFT 21 -#define NVC0_2D_PATTERN_X1R5G5B5_R1__MASK 0x7c000000 -#define NVC0_2D_PATTERN_X1R5G5B5_R1__SHIFT 26 - -#define NVC0_2D_PATTERN_Y8(i0) (0x00000500 + 0x4*(i0)) -#define NVC0_2D_PATTERN_Y8__ESIZE 0x00000004 -#define NVC0_2D_PATTERN_Y8__LEN 0x00000010 -#define NVC0_2D_PATTERN_Y8_Y0__MASK 0x000000ff -#define NVC0_2D_PATTERN_Y8_Y0__SHIFT 0 -#define NVC0_2D_PATTERN_Y8_Y1__MASK 0x0000ff00 -#define NVC0_2D_PATTERN_Y8_Y1__SHIFT 8 -#define NVC0_2D_PATTERN_Y8_Y2__MASK 0x00ff0000 -#define NVC0_2D_PATTERN_Y8_Y2__SHIFT 16 -#define NVC0_2D_PATTERN_Y8_Y3__MASK 0xff000000 -#define NVC0_2D_PATTERN_Y8_Y3__SHIFT 24 - -#define NVC0_2D_DRAW_SHAPE 0x00000580 -#define NVC0_2D_DRAW_SHAPE_POINTS 0x00000000 -#define NVC0_2D_DRAW_SHAPE_LINES 0x00000001 -#define NVC0_2D_DRAW_SHAPE_LINE_STRIP 0x00000002 -#define NVC0_2D_DRAW_SHAPE_TRIANGLES 0x00000003 -#define NVC0_2D_DRAW_SHAPE_RECTANGLES 0x00000004 - -#define NVC0_2D_DRAW_COLOR_FORMAT 0x00000584 - -#define NVC0_2D_DRAW_COLOR 0x00000588 - -#define NVC0_2D_UNK58C 0x0000058c -#define NVC0_2D_UNK58C_0 0x00000001 -#define NVC0_2D_UNK58C_1 0x00000010 -#define NVC0_2D_UNK58C_2 0x00000100 -#define NVC0_2D_UNK58C_3 0x00001000 - -#define NVC0_2D_DRAW_POINT16 0x000005e0 -#define NVC0_2D_DRAW_POINT16_X__MASK 0x0000ffff -#define NVC0_2D_DRAW_POINT16_X__SHIFT 0 -#define NVC0_2D_DRAW_POINT16_Y__MASK 0xffff0000 -#define NVC0_2D_DRAW_POINT16_Y__SHIFT 16 - -#define NVC0_2D_DRAW_POINT32_X(i0) (0x00000600 + 0x8*(i0)) -#define NVC0_2D_DRAW_POINT32_X__ESIZE 0x00000008 -#define NVC0_2D_DRAW_POINT32_X__LEN 0x00000040 - -#define NVC0_2D_DRAW_POINT32_Y(i0) (0x00000604 + 0x8*(i0)) -#define NVC0_2D_DRAW_POINT32_Y__ESIZE 0x00000008 -#define NVC0_2D_DRAW_POINT32_Y__LEN 0x00000040 - -#define NVC0_2D_SIFC_BITMAP_ENABLE 0x00000800 - -#define NVC0_2D_SIFC_FORMAT 0x00000804 - -#define NVC0_2D_SIFC_BITMAP_FORMAT 0x00000808 -#define NVC0_2D_SIFC_BITMAP_FORMAT_I1 0x00000000 -#define NVC0_2D_SIFC_BITMAP_FORMAT_I4 0x00000001 -#define NVC0_2D_SIFC_BITMAP_FORMAT_I8 0x00000002 - -#define NVC0_2D_SIFC_BITMAP_LSB_FIRST 0x0000080c - -#define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE 0x00000810 -#define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED 0x00000000 -#define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE 0x00000001 -#define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD 0x00000002 - -#define NVC0_2D_SIFC_BITMAP_COLOR_BIT0 0x00000814 - -#define NVC0_2D_SIFC_BITMAP_COLOR_BIT1 0x00000818 - -#define NVC0_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE 0x0000081c - -#define NVC0_2D_SIFC_WIDTH 0x00000838 - -#define NVC0_2D_SIFC_HEIGHT 0x0000083c - -#define NVC0_2D_SIFC_DX_DU_FRACT 0x00000840 - -#define NVC0_2D_SIFC_DX_DU_INT 0x00000844 - -#define NVC0_2D_SIFC_DY_DV_FRACT 0x00000848 - -#define NVC0_2D_SIFC_DY_DV_INT 0x0000084c - -#define NVC0_2D_SIFC_DST_X_FRACT 0x00000850 - -#define NVC0_2D_SIFC_DST_X_INT 0x00000854 - -#define NVC0_2D_SIFC_DST_Y_FRACT 0x00000858 - -#define NVC0_2D_SIFC_DST_Y_INT 0x0000085c - -#define NVC0_2D_SIFC_DATA 0x00000860 - -#define NVC0_2D_UNK0870 0x00000870 - -#define NVC0_2D_UNK0880 0x00000880 - -#define NVC0_2D_UNK0884 0x00000884 - -#define NVC0_2D_UNK0888 0x00000888 - -#define NVC0_2D_BLIT_CONTROL 0x0000088c -#define NVC0_2D_BLIT_CONTROL_ORIGIN__MASK 0x00000001 -#define NVC0_2D_BLIT_CONTROL_ORIGIN__SHIFT 0 -#define NVC0_2D_BLIT_CONTROL_ORIGIN_CENTER 0x00000000 -#define NVC0_2D_BLIT_CONTROL_ORIGIN_CORNER 0x00000001 -#define NVC0_2D_BLIT_CONTROL_FILTER__MASK 0x00000010 -#define NVC0_2D_BLIT_CONTROL_FILTER__SHIFT 4 -#define NVC0_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE 0x00000000 -#define NVC0_2D_BLIT_CONTROL_FILTER_BILINEAR 0x00000010 - -#define NVC0_2D_BLIT_DST_X 0x000008b0 - -#define NVC0_2D_BLIT_DST_Y 0x000008b4 - -#define NVC0_2D_BLIT_DST_W 0x000008b8 - -#define NVC0_2D_BLIT_DST_H 0x000008bc - -#define NVC0_2D_BLIT_DU_DX_FRACT 0x000008c0 - -#define NVC0_2D_BLIT_DU_DX_INT 0x000008c4 - -#define NVC0_2D_BLIT_DV_DY_FRACT 0x000008c8 - -#define NVC0_2D_BLIT_DV_DY_INT 0x000008cc - -#define NVC0_2D_BLIT_SRC_X_FRACT 0x000008d0 - -#define NVC0_2D_BLIT_SRC_X_INT 0x000008d4 - -#define NVC0_2D_BLIT_SRC_Y_FRACT 0x000008d8 - -#define NVC0_2D_BLIT_SRC_Y_INT 0x000008dc - - -#endif /* NVC0_2D_XML */ diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h index 57407c5..1be5952 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h @@ -4,19 +4,20 @@ /* Autogenerated file, DO NOT EDIT manually! This file was generated by the rules-ng-ng headergen tool in this git repository: -http://0x04.net/cgit/index.cgi/rules-ng-ng -git clone git://0x04.net/rules-ng-ng +http://github.com/envytools/envytools/ +git clone https://github.com/envytools/envytools.git The rules-ng-ng source files this header was generated from are: -- nvc0_3d.xml ( 30827 bytes, from 2011-01-13 18:23:07) -- copyright.xml ( 6452 bytes, from 2010-11-25 23:28:20) -- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58) -- nv_3ddefs.xml ( 16394 bytes, from 2010-12-17 15:10:40) -- nv_object.xml ( 11898 bytes, from 2010-12-23 14:14:20) -- nvchipsets.xml ( 3074 bytes, from 2010-11-07 00:36:28) -- nv50_defs.xml ( 4487 bytes, from 2010-12-10 00:37:17) - -Copyright (C) 2006-2011 by the following authors: +- rnndb/graph/gf100_3d.xml ( 59971 bytes, from 2014-09-26 00:01:33) +- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31) +- rnndb/nv_defs.xml ( 4399 bytes, from 2013-09-07 03:32:45) +- rnndb/graph/nv_3ddefs.xml ( 16390 bytes, from 2014-09-25 06:32:11) +- rnndb/fifo/nv_object.xml ( 15326 bytes, from 2014-09-25 06:32:11) +- rnndb/nvchipsets.xml ( 2759 bytes, from 2014-10-05 01:51:02) +- rnndb/g80_defs.xml ( 18175 bytes, from 2014-09-25 06:32:11) +- rnndb/graph/gk104_p2mf.xml ( 2376 bytes, from 2014-09-25 06:32:11) + +Copyright (C) 2006-2014 by the following authors: - Artur Huillet (ahuillet) - Ben Skeggs (darktama, darktama_) - B. R. (koala_br) @@ -28,7 +29,7 @@ Copyright (C) 2006-2011 by the following authors: - EdB (edb_) - Erik Waling (erikwaling) - Francisco Jerez (curro) -- imirkin (imirkin) +- Ilia Mirkin (imirkin) - jb17bsome (jb17bsome) - Jeremy Kolb (kjeremy) - Laurent Carlier (lordheavy) @@ -76,16 +77,74 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -#define NVC0_3D_NOTIFY_ADDRESS_HIGH 0x00000104 -#define NVC0_3D_NOTIFY_ADDRESS_LOW 0x00000108 -#define NVC0_3D_NOTIFY 0x0000010c -#define NVC0_3D_SERIALIZE 0x00000110 + +#define NVE4_3D_UNK0144 0x00000144 + +#define NVE4_3D_UPLOAD 0x00000000 + +#define NVE4_3D_UPLOAD_LINE_LENGTH_IN 0x00000180 + +#define NVE4_3D_UPLOAD_LINE_COUNT 0x00000184 + +#define NVE4_3D_UPLOAD_DST_ADDRESS_HIGH 0x00000188 + +#define NVE4_3D_UPLOAD_DST_ADDRESS_LOW 0x0000018c + +#define NVE4_3D_UPLOAD_DST_PITCH 0x00000190 + +#define NVE4_3D_UPLOAD_DST_TILE_MODE 0x00000194 + +#define NVE4_3D_UPLOAD_DST_WIDTH 0x00000198 + +#define NVE4_3D_UPLOAD_DST_HEIGHT 0x0000019c + +#define NVE4_3D_UPLOAD_DST_DEPTH 0x000001a0 + +#define NVE4_3D_UPLOAD_DST_Z 0x000001a4 + +#define NVE4_3D_UPLOAD_DST_X 0x000001a8 + +#define NVE4_3D_UPLOAD_DST_Y 0x000001ac + +#define NVE4_3D_UPLOAD_EXEC 0x000001b0 +#define NVE4_3D_UPLOAD_EXEC_LINEAR 0x00000001 +#define NVE4_3D_UPLOAD_EXEC_UNK1__MASK 0x0000007e +#define NVE4_3D_UPLOAD_EXEC_UNK1__SHIFT 1 +#define NVE4_3D_UPLOAD_EXEC_BUF_NOTIFY 0x00000300 +#define NVE4_3D_UPLOAD_EXEC_UNK12__MASK 0x0000f000 +#define NVE4_3D_UPLOAD_EXEC_UNK12__SHIFT 12 + +#define NVE4_3D_UPLOAD_DATA 0x000001b4 + +#define NVE4_3D_UPLOAD_QUERY_ADDRESS_HIGH 0x000001dc + +#define NVE4_3D_UPLOAD_QUERY_ADDRESS_LOW 0x000001e0 + +#define NVE4_3D_UPLOAD_QUERY_SEQUENCE 0x000001e4 + +#define NVE4_3D_UPLOAD_UNK01F0 0x000001f0 + +#define NVE4_3D_UPLOAD_UNK01F4 0x000001f4 + +#define NVE4_3D_UPLOAD_UNK01F8 0x000001f8 + +#define NVE4_3D_UPLOAD_UNK01FC 0x000001fc + +#define NVC0_3D_UNK200 0x00000200 + +#define NVC0_3D_UNK204 0x00000204 + +#define NVC0_3D_UNK208 0x00000208 #define NVC0_3D_LINE_WIDTH_SEPARATE 0x0000020c #define NVC0_3D_FORCE_EARLY_FRAGMENT_TESTS 0x00000210 +#define NVC0_3D_UNK214 0x00000214 + +#define NVC0_3D_UNK218 0x00000218 + #define NVC0_3D_MEM_BARRIER 0x0000021c #define NVC0_3D_MEM_BARRIER_UNK0 0x00000001 #define NVC0_3D_MEM_BARRIER_UNK1 0x00000002 @@ -94,36 +153,114 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_MEM_BARRIER_UNK8 0x00000100 #define NVC0_3D_MEM_BARRIER_UNK12 0x00001000 +#define NVC0_3D_UNK0220(i0) (0x00000220 + 0x4*(i0)) +#define NVC0_3D_UNK0220__ESIZE 0x00000004 +#define NVC0_3D_UNK0220__LEN 0x00000028 + +#define NVC0_3D_UNK02C0 0x000002c0 + +#define NVC0_3D_UNK02C4 0x000002c4 + +#define NVC0_3D_GLOBAL_BASE 0x000002c8 +#define NVC0_3D_GLOBAL_BASE_HIGH__MASK 0x000000ff +#define NVC0_3D_GLOBAL_BASE_HIGH__SHIFT 0 +#define NVC0_3D_GLOBAL_BASE_INDEX__MASK 0x00ff0000 +#define NVC0_3D_GLOBAL_BASE_INDEX__SHIFT 16 +#define NVC0_3D_GLOBAL_BASE_READ_OK 0x40000000 +#define NVC0_3D_GLOBAL_BASE_WRITE_OK 0x80000000 + +#define NVC0_3D_UNK02CC 0x000002cc + +#define NVC0_3D_UNK02D0 0x000002d0 + +#define NVC0_3D_UNK02D4 0x000002d4 + +#define NVC0_3D_UNK02D8 0x000002d8 + +#define NVC8_3D_UNK02E0 0x000002e0 + +#define NVC1_3D_UNK02E4 0x000002e4 +#define NVC1_3D_UNK02E4_UNK0 0x00000001 +#define NVC1_3D_UNK02E4_UNK4 0x00000010 +#define NVC1_3D_UNK02E4_UNK8 0x00000100 +#define NVC1_3D_UNK02E4_UNK12__MASK 0x0000f000 +#define NVC1_3D_UNK02E4_UNK12__SHIFT 12 + +#define NVC8_3D_UNK02E8 0x000002e8 + +#define NVC0_3D_UNK02EC 0x000002ec +#define NVC0_3D_UNK02EC_UNK0 0x00000001 +#define NVC0_3D_UNK02EC_UNK4__MASK 0x00000ff0 +#define NVC0_3D_UNK02EC_UNK4__SHIFT 4 + +#define NVC8_3D_UNK02F8 0x000002f8 + +#define NVC8_3D_UNK02FC 0x000002fc + +#define NVC0_3D_UNK0300 0x00000300 + +#define NVC0_3D_UNK0304 0x00000304 + #define NVC0_3D_CACHE_SPLIT 0x00000308 #define NVC1_3D_CACHE_SPLIT_16K_SHARED_48K_L1 0x00000001 #define NVE4_3D_CACHE_SPLIT_32K_SHARED_32K_L1 0x00000002 #define NVC0_3D_CACHE_SPLIT_48K_SHARED_16K_L1 0x00000003 +#define NVC0_3D_UNK030C 0x0000030c + +#define NVC0_3D_UNK0310 0x00000310 + +#define NVE4_3D_UNK0310 0x00000310 + +#define NVC0_3D_UNK0314 0x00000314 + +#define NVC0_3D_UNK0318 0x00000318 + +#define NVC0_3D_UNK031C 0x0000031c + #define NVC0_3D_TESS_MODE 0x00000320 -#define NVC0_3D_TESS_MODE_PRIM__MASK 0x0000000f +#define NVC0_3D_TESS_MODE_PRIM__MASK 0x00000003 #define NVC0_3D_TESS_MODE_PRIM__SHIFT 0 -#define NVC0_3D_TESS_MODE_PRIM_ISOLINES 0x00000000 +#define NVC0_3D_TESS_MODE_PRIM_ISOLINES 0x00000000 #define NVC0_3D_TESS_MODE_PRIM_TRIANGLES 0x00000001 #define NVC0_3D_TESS_MODE_PRIM_QUADS 0x00000002 -#define NVC0_3D_TESS_MODE_SPACING__MASK 0x000000f0 +#define NVC0_3D_TESS_MODE_SPACING__MASK 0x00000030 #define NVC0_3D_TESS_MODE_SPACING__SHIFT 4 -#define NVC0_3D_TESS_MODE_SPACING_EQUAL 0x00000000 +#define NVC0_3D_TESS_MODE_SPACING_EQUAL 0x00000000 #define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_ODD 0x00000010 #define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_EVEN 0x00000020 #define NVC0_3D_TESS_MODE_CW 0x00000100 #define NVC0_3D_TESS_MODE_CONNECTED 0x00000200 #define NVC0_3D_TESS_LEVEL_OUTER(i0) (0x00000324 + 0x4*(i0)) -#define NVC0_3D_TESS_LEVEL_OUTER__ESIZE 0x00000004 +#define NVC0_3D_TESS_LEVEL_OUTER__ESIZE 0x00000004 #define NVC0_3D_TESS_LEVEL_OUTER__LEN 0x00000004 #define NVC0_3D_TESS_LEVEL_INNER(i0) (0x00000334 + 0x4*(i0)) -#define NVC0_3D_TESS_LEVEL_INNER__ESIZE 0x00000004 +#define NVC0_3D_TESS_LEVEL_INNER__ESIZE 0x00000004 #define NVC0_3D_TESS_LEVEL_INNER__LEN 0x00000002 +#define NVC0_3D_UNK033C(i0) (0x0000033c + 0x4*(i0)) +#define NVC0_3D_UNK033C__ESIZE 0x00000004 +#define NVC0_3D_UNK033C__LEN 0x00000009 + +#define NVC0_3D_UNK0360 0x00000360 + +#define NVC0_3D_UNK0364 0x00000364 + +#define NVC0_3D_UNK0368 0x00000368 + +#define NVC8_3D_UNK036C 0x0000036c + +#define NVC8_3D_UNK0370 0x00000370 + +#define NVC8_3D_UNK0374 0x00000374 + +#define NVC8_3D_UNK0378 0x00000378 + #define NVC0_3D_RASTERIZE_ENABLE 0x0000037c -#define NVC0_3D_TFB(i0) (0x00000380 + 0x20*(i0)) +#define NVC0_3D_TFB(i0) (0x00000380 + 0x20*(i0)) #define NVC0_3D_TFB__ESIZE 0x00000020 #define NVC0_3D_TFB__LEN 0x00000004 @@ -137,9 +274,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_TFB_BUFFER_OFFSET(i0) (0x00000390 + 0x20*(i0)) +#define NVC0_3D_UNK0400(i0) (0x00000400 + 0x4*(i0)) +#define NVC0_3D_UNK0400__ESIZE 0x00000004 +#define NVC0_3D_UNK0400__LEN 0x000000c0 + #define NVC0_3D_TFB_STREAM(i0) (0x00000700 + 0x10*(i0)) #define NVC0_3D_TFB_STREAM__ESIZE 0x00000010 -#define NVC0_3D_TFB_STREAM__LEN 0x00000004 +#define NVC0_3D_TFB_STREAM__LEN 0x00000004 #define NVC0_3D_TFB_VARYING_COUNT(i0) (0x00000704 + 0x10*(i0)) #define NVC0_3D_TFB_VARYING_COUNT__ESIZE 0x00000010 @@ -149,15 +290,45 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_TFB_BUFFER_STRIDE__ESIZE 0x00000010 #define NVC0_3D_TFB_BUFFER_STRIDE__LEN 0x00000004 +#define NVC0_3D_UNK0740 0x00000740 + #define NVC0_3D_TFB_ENABLE 0x00000744 +#define NVC0_3D_UNK0748 0x00000748 + +#define NVC0_3D_UNK074C 0x0000074c + +#define NVC0_3D_UNK0750 0x00000750 + #define NVC0_3D_SAMPLE_SHADING 0x00000754 #define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__MASK 0x0000000f #define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__SHIFT 0 #define NVC0_3D_SAMPLE_SHADING_ENABLE 0x00000010 +#define NVC0_3D_UNK075C 0x0000075c + +#define NVC0_3D_UNK0760(i0) (0x00000760 + 0x4*(i0)) +#define NVC0_3D_UNK0760__ESIZE 0x00000004 +#define NVC0_3D_UNK0760__LEN 0x00000004 + +#define NVC0_3D_UNK0770(i0) (0x00000770 + 0x4*(i0)) +#define NVC0_3D_UNK0770__ESIZE 0x00000004 +#define NVC0_3D_UNK0770__LEN 0x00000003 +#define NVC0_3D_UNK0770_UNK4__MASK 0x000000f0 +#define NVC0_3D_UNK0770_UNK4__SHIFT 4 +#define NVC0_3D_UNK0770_UNK12__MASK 0x0000f000 +#define NVC0_3D_UNK0770_UNK12__SHIFT 12 +#define NVC0_3D_UNK0770_UNK20__MASK 0x00f00000 +#define NVC0_3D_UNK0770_UNK20__SHIFT 20 +#define NVC0_3D_UNK0770_UNK28__MASK 0xf0000000 +#define NVC0_3D_UNK0770_UNK28__SHIFT 28 + #define NVC0_3D_LOCAL_BASE 0x0000077c +#define NVC0_3D_UNK0780(i0) (0x00000780 + 0x4*(i0)) +#define NVC0_3D_UNK0780__ESIZE 0x00000004 +#define NVC0_3D_UNK0780__LEN 0x00000004 + #define NVC0_3D_TEMP_ADDRESS_HIGH 0x00000790 #define NVC0_3D_TEMP_ADDRESS_LOW 0x00000794 @@ -166,23 +337,61 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_TEMP_SIZE_LOW 0x0000079c -#define NVC0_3D_WARP_TEMP_ALLOC 0x000007a0 +#define NVC0_3D_WARP_TEMP_ALLOC 0x000007a0 + +#define NVC8_3D_UNK07A4(i0) (0x000007a4 + 0x4*(i0)) +#define NVC8_3D_UNK07A4__ESIZE 0x00000004 +#define NVC8_3D_UNK07A4__LEN 0x00000002 + +#define NVE4_3D_UNK07AC 0x000007ac + +#define NVC0_3D_UNK07B0(i0) (0x000007b0 + 0x4*(i0)) +#define NVC0_3D_UNK07B0__ESIZE 0x00000004 +#define NVC0_3D_UNK07B0__LEN 0x00000004 #define NVC0_3D_ZCULL_WIDTH 0x000007c0 #define NVC0_3D_ZCULL_HEIGHT 0x000007c4 +#define NVC0_3D_ZCULL_UNK07C8 0x000007c8 + +#define NVC0_3D_ZCULL_UNK07CC 0x000007cc + +#define NVC0_3D_UNK07D0(i0) (0x000007d0 + 0x4*(i0)) +#define NVC0_3D_UNK07D0__ESIZE 0x00000004 +#define NVC0_3D_UNK07D0__LEN 0x00000003 +#define NVC0_3D_UNK07D0_UNK4__MASK 0x000000f0 +#define NVC0_3D_UNK07D0_UNK4__SHIFT 4 +#define NVC0_3D_UNK07D0_UNK12__MASK 0x0000f000 +#define NVC0_3D_UNK07D0_UNK12__SHIFT 12 +#define NVC0_3D_UNK07D0_UNK20__MASK 0x00f00000 +#define NVC0_3D_UNK07D0_UNK20__SHIFT 20 +#define NVC0_3D_UNK07D0_UNK28__MASK 0xf0000000 +#define NVC0_3D_UNK07D0_UNK28__SHIFT 28 + +#define NVC0_3D_UNK07DC 0x000007dc + +#define NVC0_3D_UNK07E0 0x000007e0 + +#define NVC0_3D_UNK07E4 0x000007e4 + #define NVC0_3D_ZCULL_ADDRESS_HIGH 0x000007e8 #define NVC0_3D_ZCULL_ADDRESS_LOW 0x000007ec #define NVC0_3D_ZCULL_LIMIT_HIGH 0x000007f0 -#define NVC0_3D_ZCULL_LIMIT_LOW 0x000007f4 +#define NVC0_3D_ZCULL_LIMIT_LOW 0x000007f4 + +#define NVC0_3D_UNK07F8 0x000007f8 +#define NVC0_3D_UNK07F8_UNK0 0x00000001 +#define NVC0_3D_UNK07F8_UNK1 0x00000010 + +#define NVE4_3D_UNK07FC 0x000007fc #define NVC0_3D_RT(i0) (0x00000800 + 0x40*(i0)) #define NVC0_3D_RT__ESIZE 0x00000040 -#define NVC0_3D_RT__LEN 0x00000008 +#define NVC0_3D_RT__LEN 0x00000008 #define NVC0_3D_RT_ADDRESS_HIGH(i0) (0x00000800 + 0x40*(i0)) @@ -215,15 +424,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_RT_UNK14(i0) (0x00000824 + 0x40*(i0)) #define NVC0_3D_VIEWPORT_SCALE_X(i0) (0x00000a00 + 0x20*(i0)) -#define NVC0_3D_VIEWPORT_SCALE_X__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_SCALE_X__ESIZE 0x00000020 #define NVC0_3D_VIEWPORT_SCALE_X__LEN 0x00000010 #define NVC0_3D_VIEWPORT_SCALE_Y(i0) (0x00000a04 + 0x20*(i0)) -#define NVC0_3D_VIEWPORT_SCALE_Y__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_SCALE_Y__ESIZE 0x00000020 #define NVC0_3D_VIEWPORT_SCALE_Y__LEN 0x00000010 #define NVC0_3D_VIEWPORT_SCALE_Z(i0) (0x00000a08 + 0x20*(i0)) -#define NVC0_3D_VIEWPORT_SCALE_Z__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_SCALE_Z__ESIZE 0x00000020 #define NVC0_3D_VIEWPORT_SCALE_Z__LEN 0x00000010 #define NVC0_3D_VIEWPORT_TRANSLATE_X(i0) (0x00000a0c + 0x20*(i0)) @@ -242,9 +451,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VIEWPORT_HORIZ__ESIZE 0x00000010 #define NVC0_3D_VIEWPORT_HORIZ__LEN 0x00000010 #define NVC0_3D_VIEWPORT_HORIZ_X__MASK 0x0000ffff -#define NVC0_3D_VIEWPORT_HORIZ_X__SHIFT 0 +#define NVC0_3D_VIEWPORT_HORIZ_X__SHIFT 0 #define NVC0_3D_VIEWPORT_HORIZ_W__MASK 0xffff0000 -#define NVC0_3D_VIEWPORT_HORIZ_W__SHIFT 16 +#define NVC0_3D_VIEWPORT_HORIZ_W__SHIFT 16 #define NVC0_3D_VIEWPORT_VERT(i0) (0x00000c04 + 0x10*(i0)) #define NVC0_3D_VIEWPORT_VERT__ESIZE 0x00000010 @@ -255,7 +464,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VIEWPORT_VERT_H__SHIFT 16 #define NVC0_3D_DEPTH_RANGE_NEAR(i0) (0x00000c08 + 0x10*(i0)) -#define NVC0_3D_DEPTH_RANGE_NEAR__ESIZE 0x00000010 +#define NVC0_3D_DEPTH_RANGE_NEAR__ESIZE 0x00000010 #define NVC0_3D_DEPTH_RANGE_NEAR__LEN 0x00000010 #define NVC0_3D_DEPTH_RANGE_FAR(i0) (0x00000c0c + 0x10*(i0)) @@ -278,7 +487,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_CLIP_RECT_VERT_MAX__MASK 0xffff0000 #define NVC0_3D_CLIP_RECT_VERT_MAX__SHIFT 16 -#define NVC0_3D_CLIPID_REGION_HORIZ(i0) (0x00000d40 + 0x8*(i0)) +#define NVC0_3D_CLIPID_REGION_HORIZ(i0) (0x00000d40 + 0x8*(i0)) #define NVC0_3D_CLIPID_REGION_HORIZ__ESIZE 0x00000008 #define NVC0_3D_CLIPID_REGION_HORIZ__LEN 0x00000004 #define NVC0_3D_CLIPID_REGION_HORIZ_X__MASK 0x0000ffff @@ -288,12 +497,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_CLIPID_REGION_VERT(i0) (0x00000d44 + 0x8*(i0)) #define NVC0_3D_CLIPID_REGION_VERT__ESIZE 0x00000008 -#define NVC0_3D_CLIPID_REGION_VERT__LEN 0x00000004 +#define NVC0_3D_CLIPID_REGION_VERT__LEN 0x00000004 #define NVC0_3D_CLIPID_REGION_VERT_Y__MASK 0x0000ffff #define NVC0_3D_CLIPID_REGION_VERT_Y__SHIFT 0 #define NVC0_3D_CLIPID_REGION_VERT_H__MASK 0xffff0000 #define NVC0_3D_CLIPID_REGION_VERT_H__SHIFT 16 +#define NVC0_3D_UNK0D60 0x00000d60 + #define NVC0_3D_CALL_LIMIT_LOG 0x00000d64 #define NVC0_3D_COUNTER_ENABLE 0x00000d68 @@ -314,22 +525,58 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_COUNTER_ENABLE_UNK0E 0x00004000 #define NVC0_3D_COUNTER_ENABLE_UNK0F 0x00008000 +#define NVC0_3D_UNK0D6C(i0) (0x00000d6c + 0x4*(i0)) +#define NVC0_3D_UNK0D6C__ESIZE 0x00000004 +#define NVC0_3D_UNK0D6C__LEN 0x00000002 +#define NVC0_3D_UNK0D6C_X__MASK 0x0000ffff +#define NVC0_3D_UNK0D6C_X__SHIFT 0 +#define NVC0_3D_UNK0D6C_Y__MASK 0xffff0000 +#define NVC0_3D_UNK0D6C_Y__SHIFT 16 + #define NVC0_3D_VERTEX_BUFFER_FIRST 0x00000d74 #define NVC0_3D_VERTEX_BUFFER_COUNT 0x00000d78 #define NVC0_3D_DEPTH_CLIP_NEGATIVE_Z 0x00000d7c -#define NVC0_3D_CLEAR_COLOR(i0) (0x00000d80 + 0x4*(i0)) +#define NVC0_3D_CLEAR_COLOR(i0) (0x00000d80 + 0x4*(i0)) #define NVC0_3D_CLEAR_COLOR__ESIZE 0x00000004 #define NVC0_3D_CLEAR_COLOR__LEN 0x00000004 #define NVC0_3D_CLEAR_DEPTH 0x00000d90 +#define NVC0_3D_UNK0D94 0x00000d94 + +#define NVE4_3D_UNK0D98 0x00000d98 + +#define NVC0_3D_UNK0D9C 0x00000d9c + #define NVC0_3D_CLEAR_STENCIL 0x00000da0 +#define NVE4_3D_UNK0DA4 0x00000da4 +#define NVE4_3D_UNK0DA4_UNK0 0x00000001 +#define NVE4_3D_UNK0DA4_UNK4 0x00000010 +#define NVE4_3D_UNK0DA4_UNK12 0x00001000 + +#define NVC0_3D_POLYGON_MODE_FRONT 0x00000dac +#define NVC0_3D_POLYGON_MODE_FRONT_POINT 0x00001b00 +#define NVC0_3D_POLYGON_MODE_FRONT_LINE 0x00001b01 +#define NVC0_3D_POLYGON_MODE_FRONT_FILL 0x00001b02 + +#define NVC0_3D_POLYGON_MODE_BACK 0x00000db0 +#define NVC0_3D_POLYGON_MODE_BACK_POINT 0x00001b00 +#define NVC0_3D_POLYGON_MODE_BACK_LINE 0x00001b01 +#define NVC0_3D_POLYGON_MODE_BACK_FILL 0x00001b02 + #define NVC0_3D_POLYGON_SMOOTH_ENABLE 0x00000db4 +#define NVC0_3D_UNK0DB8 0x00000db8 + +#define NVC0_3D_ZCULL_UNK0DBC 0x00000dbc +#define NVC0_3D_ZCULL_UNK0DBC_UNK0 0x00000001 +#define NVC0_3D_ZCULL_UNK0DBC_UNK16__MASK 0x00030000 +#define NVC0_3D_ZCULL_UNK0DBC_UNK16__SHIFT 16 + #define NVC0_3D_POLYGON_OFFSET_POINT_ENABLE 0x00000dc0 #define NVC0_3D_POLYGON_OFFSET_LINE_ENABLE 0x00000dc4 @@ -338,13 +585,27 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_PATCH_VERTICES 0x00000dcc +#define NVC0_3D_ZCULL_UNK0DD8 0x00000dd8 +#define NVC0_3D_ZCULL_UNK0DD8_UNK0__MASK 0x00000007 +#define NVC0_3D_ZCULL_UNK0DD8_UNK0__SHIFT 0 +#define NVC0_3D_ZCULL_UNK0DD8_UNK8__MASK 0x00000300 +#define NVC0_3D_ZCULL_UNK0DD8_UNK8__SHIFT 8 +#define NVC0_3D_ZCULL_UNK0DD8_UNK16__MASK 0xffff0000 +#define NVC0_3D_ZCULL_UNK0DD8_UNK16__SHIFT 16 + +#define NVC0_3D_UNK0DDC 0x00000ddc + #define NVC0_3D_WATCHDOG_TIMER 0x00000de4 #define NVC0_3D_PRIM_RESTART_WITH_DRAW_ARRAYS 0x00000de8 -#define NVC0_3D_WINDOW_OFFSET_X 0x00000df8 +#define NVC0_3D_UNK0DEC 0x00000dec -#define NVC0_3D_WINDOW_OFFSET_Y 0x00000dfc +#define NVC0_3D_UNK0DF4 0x00000df4 + +#define NVC0_3D_WINDOW_OFFSET_X 0x00000df8 + +#define NVC0_3D_WINDOW_OFFSET_Y 0x00000dfc #define NVC0_3D_SCISSOR_ENABLE(i0) (0x00000e00 + 0x10*(i0)) #define NVC0_3D_SCISSOR_ENABLE__ESIZE 0x00000010 @@ -353,18 +614,26 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_SCISSOR_HORIZ(i0) (0x00000e04 + 0x10*(i0)) #define NVC0_3D_SCISSOR_HORIZ__ESIZE 0x00000010 #define NVC0_3D_SCISSOR_HORIZ__LEN 0x00000010 -#define NVC0_3D_SCISSOR_HORIZ_MIN__MASK 0x0000ffff +#define NVC0_3D_SCISSOR_HORIZ_MIN__MASK 0x0000ffff #define NVC0_3D_SCISSOR_HORIZ_MIN__SHIFT 0 -#define NVC0_3D_SCISSOR_HORIZ_MAX__MASK 0xffff0000 +#define NVC0_3D_SCISSOR_HORIZ_MAX__MASK 0xffff0000 #define NVC0_3D_SCISSOR_HORIZ_MAX__SHIFT 16 #define NVC0_3D_SCISSOR_VERT(i0) (0x00000e08 + 0x10*(i0)) #define NVC0_3D_SCISSOR_VERT__ESIZE 0x00000010 #define NVC0_3D_SCISSOR_VERT__LEN 0x00000010 #define NVC0_3D_SCISSOR_VERT_MIN__MASK 0x0000ffff -#define NVC0_3D_SCISSOR_VERT_MIN__SHIFT 0 +#define NVC0_3D_SCISSOR_VERT_MIN__SHIFT 0 #define NVC0_3D_SCISSOR_VERT_MAX__MASK 0xffff0000 -#define NVC0_3D_SCISSOR_VERT_MAX__SHIFT 16 +#define NVC0_3D_SCISSOR_VERT_MAX__SHIFT 16 + +#define NVC0_3D_UNK0F00(i0) (0x00000f00 + 0x4*(i0)) +#define NVC0_3D_UNK0F00__ESIZE 0x00000004 +#define NVC0_3D_UNK0F00__LEN 0x00000004 + +#define NVE4_3D_UNK0F20(i0) (0x00000f20 + 0x4*(i0)) +#define NVE4_3D_UNK0F20__ESIZE 0x00000004 +#define NVE4_3D_UNK0F20__LEN 0x00000005 #define NVC0_3D_STENCIL_BACK_FUNC_REF 0x00000f54 @@ -376,14 +645,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VERTEX_RUNOUT_ADDRESS_LOW 0x00000f88 +#define NVC0_3D_UNK0F8C 0x00000f8c + #define NVC0_3D_COLOR_MASK_COMMON 0x00000f90 +#define NVC0_3D_UNK0F98 0x00000f98 + #define NVC0_3D_DEPTH_BOUNDS(i0) (0x00000f9c + 0x4*(i0)) #define NVC0_3D_DEPTH_BOUNDS__ESIZE 0x00000004 #define NVC0_3D_DEPTH_BOUNDS__LEN 0x00000002 #define NVC0_3D_RT_SEPARATE_FRAG_DATA 0x00000fac +#define NVC0_3D_UNK0FB0 0x00000fb0 + #define NVC0_3D_MSAA_MASK(i0) (0x00000fbc + 0x4*(i0)) #define NVC0_3D_MSAA_MASK__ESIZE 0x00000004 #define NVC0_3D_MSAA_MASK__LEN 0x00000004 @@ -392,6 +667,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_CLIPID_ADDRESS_LOW 0x00000fd0 +#define NVC0_3D_UNK0FDC 0x00000fdc + #define NVC0_3D_ZETA_ADDRESS_HIGH 0x00000fe0 #define NVC0_3D_ZETA_ADDRESS_LOW 0x00000fe4 @@ -414,15 +691,92 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_SCREEN_SCISSOR_VERT_Y__MASK 0x0000ffff #define NVC0_3D_SCREEN_SCISSOR_VERT_Y__SHIFT 0 +#define NVC0_3D_UNK1000 0x00001000 + +#define NVC0_3D_UNK1008 0x00001008 + +#define NVC0_3D_UNK100C 0x0000100c + +#define NVC0_3D_UNK1010 0x00001010 + +#define NVC0_3D_UNK1018 0x00001018 + +#define NVC0_3D_UNK101C 0x0000101c + +#define NVC0_3D_UNK1020 0x00001020 + +#define NVC0_3D_UNK1024 0x00001024 + +#define NVC0_3D_UNK1040(i0) (0x00001040 + 0x4*(i0)) +#define NVC0_3D_UNK1040__ESIZE 0x00000004 +#define NVC0_3D_UNK1040__LEN 0x00000010 + +#define NVC0_3D_UNK10CC 0x000010cc +#define NVC0_3D_UNK10CC_UNK0__MASK 0x000000ff +#define NVC0_3D_UNK10CC_UNK0__SHIFT 0 +#define NVC0_3D_UNK10CC_UNK16__MASK 0x00ff0000 +#define NVC0_3D_UNK10CC_UNK16__SHIFT 16 + +#define NVC0_3D_UNK10E0 0x000010e0 +#define NVC0_3D_UNK10E0_UNK0__MASK 0x000000ff +#define NVC0_3D_UNK10E0_UNK0__SHIFT 0 +#define NVC0_3D_UNK10E0_UNK16__MASK 0x00ff0000 +#define NVC0_3D_UNK10E0_UNK16__SHIFT 16 + +#define NVC0_3D_UNK10E4 0x000010e4 +#define NVC0_3D_UNK10E4_UNK0__MASK 0x000000ff +#define NVC0_3D_UNK10E4_UNK0__SHIFT 0 +#define NVC0_3D_UNK10E4_UNK16__MASK 0x00ff0000 +#define NVC0_3D_UNK10E4_UNK16__SHIFT 16 + +#define NVC0_3D_UNK10E8 0x000010e8 +#define NVC0_3D_UNK10E8_UNK0__MASK 0x0000003f +#define NVC0_3D_UNK10E8_UNK0__SHIFT 0 +#define NVC0_3D_UNK10E8_UNK16__MASK 0x003f0000 +#define NVC0_3D_UNK10E8_UNK16__SHIFT 16 + +#define NVC0_3D_UNK10EC 0x000010ec +#define NVC0_3D_UNK10EC_UNK0__MASK 0x000000ff +#define NVC0_3D_UNK10EC_UNK0__SHIFT 0 +#define NVC0_3D_UNK10EC_UNK16__MASK 0x00ff0000 +#define NVC0_3D_UNK10EC_UNK16__SHIFT 16 + +#define NVC0_3D_UNK10F0 0x000010f0 +#define NVC0_3D_UNK10F0_UNK0__MASK 0x000000ff +#define NVC0_3D_UNK10F0_UNK0__SHIFT 0 +#define NVC0_3D_UNK10F0_UNK16__MASK 0x00ff0000 +#define NVC0_3D_UNK10F0_UNK16__SHIFT 16 + +#define NVC0_3D_UNK10F4 0x000010f4 +#define NVC0_3D_UNK10F4_UNK0 0x00000001 +#define NVC0_3D_UNK10F4_UNK4 0x00000010 +#define NVC0_3D_UNK10F4_UNK8 0x00000100 + #define NVC0_3D_CLEAR_FLAGS 0x000010f8 #define NVC0_3D_CLEAR_FLAGS_STENCIL_MASK 0x00000001 #define NVC0_3D_CLEAR_FLAGS_UNK4 0x00000010 #define NVC0_3D_CLEAR_FLAGS_SCISSOR 0x00000100 #define NVC0_3D_CLEAR_FLAGS_VIEWPORT 0x00001000 -#define NVC0_3D_VERTEX_ID 0x00001118 +#define NVC0_3D_UNK10FC 0x000010fc + +#define NVC0_3D_UNK110C 0x0000110c + +#define NVC0_3D_UNK1110 0x00001110 + +#define NVC0_3D_WRCACHE_FLUSH 0x00001114 + +#define NVC0_3D_VERTEX_ID_BASE 0x00001118 + +#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT(i0) (0x00001120 + 0x4*(i0)) +#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT__ESIZE 0x00000004 +#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT__LEN 0x00000004 + +#define NVC0_3D_UNK1140 0x00001140 -#define NVC0_3D_VTX_ATTR_DEFINE 0x0000114c +#define NVC0_3D_UNK1144 0x00001144 + +#define NVC0_3D_VTX_ATTR_DEFINE 0x0000114c #define NVC0_3D_VTX_ATTR_DEFINE_ATTR__MASK 0x000000ff #define NVC0_3D_VTX_ATTR_DEFINE_ATTR__SHIFT 0 #define NVC0_3D_VTX_ATTR_DEFINE_COMP__MASK 0x00000700 @@ -432,8 +786,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE__MASK 0x00007000 #define NVC0_3D_VTX_ATTR_DEFINE_SIZE__SHIFT 12 #define NVC0_3D_VTX_ATTR_DEFINE_SIZE_8 0x00001000 -#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_16 0x00002000 -#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_32 0x00004000 +#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_16 0x00002000 +#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_32 0x00004000 #define NVC0_3D_VTX_ATTR_DEFINE_TYPE__MASK 0x00070000 #define NVC0_3D_VTX_ATTR_DEFINE_TYPE__SHIFT 16 #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SNORM 0x00010000 @@ -456,36 +810,40 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_CONST 0x00000040 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__MASK 0x001fff80 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__SHIFT 7 -#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__MASK 0x07e00000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__MASK 0x07e00000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__SHIFT 21 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32_32 0x00200000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32 0x00400000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16_16 0x00600000 -#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32 0x00800000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32 0x00800000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16 0x00a00000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8_8 0x01400000 -#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16 0x01e00000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16 0x01e00000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32 0x02400000 -#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8 0x02600000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8 0x02600000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8 0x03000000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16 0x03600000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8 0x03a00000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_10_10_10_2 0x06000000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_11_11_10 0x06200000 -#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK 0x38000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK 0x38000000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__SHIFT 27 -#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM 0x08000000 -#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UNORM 0x10000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM 0x08000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UNORM 0x10000000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SINT 0x18000000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UINT 0x20000000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_USCALED 0x28000000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED 0x30000000 -#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT 0x38000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT 0x38000000 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_BGRA 0x80000000 +#define NVC0_3D_UNK1214 0x00001214 + +#define NVC0_3D_UNK1218 0x00001218 + #define NVC0_3D_RT_CONTROL 0x0000121c #define NVC0_3D_RT_CONTROL_COUNT__MASK 0x0000000f -#define NVC0_3D_RT_CONTROL_COUNT__SHIFT 0 +#define NVC0_3D_RT_CONTROL_COUNT__SHIFT 0 #define NVC0_3D_RT_CONTROL_MAP0__MASK 0x00000070 #define NVC0_3D_RT_CONTROL_MAP0__SHIFT 4 #define NVC0_3D_RT_CONTROL_MAP1__MASK 0x00000380 @@ -503,11 +861,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_RT_CONTROL_MAP7__MASK 0x0e000000 #define NVC0_3D_RT_CONTROL_MAP7__SHIFT 25 +#define NVC0_3D_UNK1220 0x00001220 + #define NVC0_3D_ZETA_HORIZ 0x00001228 #define NVC0_3D_ZETA_VERT 0x0000122c -#define NVC0_3D_ZETA_ARRAY_MODE 0x00001230 +#define NVC0_3D_ZETA_ARRAY_MODE 0x00001230 #define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__MASK 0x0000ffff #define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__SHIFT 0 #define NVC0_3D_ZETA_ARRAY_MODE_UNK 0x00010000 @@ -516,19 +876,35 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_DRAW_TFB_BYTES 0x0000123c -#define NVC0_3D_FP_RESULT_COUNT 0x00001298 +#define NVC0_3D_UNK1284 0x00001284 + +#define NVC0_3D_UNK1288_TIC_FLUSH 0x00001288 + +#define NVC0_3D_UNK1290 0x00001290 + +#define NVC0_3D_UNK12A4 0x000012a4 + +#define NVC0_3D_UNK12AC 0x000012ac + +#define NVC0_3D_UNK12C8 0x000012c8 #define NVC0_3D_DEPTH_TEST_ENABLE 0x000012cc #define NVC0_3D_D3D_FILL_MODE 0x000012d0 #define NVC0_3D_D3D_FILL_MODE_POINT 0x00000001 -#define NVC0_3D_D3D_FILL_MODE_WIREFRAME 0x00000002 +#define NVC0_3D_D3D_FILL_MODE_WIREFRAME 0x00000002 #define NVC0_3D_D3D_FILL_MODE_SOLID 0x00000003 #define NVC0_3D_SHADE_MODEL 0x000012d4 #define NVC0_3D_SHADE_MODEL_FLAT 0x00001d00 #define NVC0_3D_SHADE_MODEL_SMOOTH 0x00001d01 +#define NVC0_3D_UNK12D8(i0) (0x000012d8 + 0x4*(i0)) +#define NVC0_3D_UNK12D8__ESIZE 0x00000004 +#define NVC0_3D_UNK12D8__LEN 0x00000002 + +#define NVC0_3D_UNK12E0 0x000012e0 + #define NVC0_3D_BLEND_INDEPENDENT 0x000012e4 #define NVC0_3D_DEPTH_WRITE_ENABLE 0x000012e8 @@ -538,51 +914,51 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VB_ELEMENT_U8_SETUP 0x00001300 #define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK 0xc0000000 #define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__SHIFT 30 -#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK 0x3fffffff +#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK 0x3fffffff #define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT 0 #define NVC0_3D_VB_ELEMENT_U8 0x00001304 #define NVC0_3D_VB_ELEMENT_U8_I0__MASK 0x000000ff -#define NVC0_3D_VB_ELEMENT_U8_I0__SHIFT 0 +#define NVC0_3D_VB_ELEMENT_U8_I0__SHIFT 0 #define NVC0_3D_VB_ELEMENT_U8_I1__MASK 0x0000ff00 -#define NVC0_3D_VB_ELEMENT_U8_I1__SHIFT 8 +#define NVC0_3D_VB_ELEMENT_U8_I1__SHIFT 8 #define NVC0_3D_VB_ELEMENT_U8_I2__MASK 0x00ff0000 -#define NVC0_3D_VB_ELEMENT_U8_I2__SHIFT 16 +#define NVC0_3D_VB_ELEMENT_U8_I2__SHIFT 16 #define NVC0_3D_VB_ELEMENT_U8_I3__MASK 0xff000000 -#define NVC0_3D_VB_ELEMENT_U8_I3__SHIFT 24 +#define NVC0_3D_VB_ELEMENT_U8_I3__SHIFT 24 #define NVC0_3D_D3D_CULL_MODE 0x00001308 #define NVC0_3D_D3D_CULL_MODE_NONE 0x00000001 #define NVC0_3D_D3D_CULL_MODE_FRONT 0x00000002 #define NVC0_3D_D3D_CULL_MODE_BACK 0x00000003 -#define NVC0_3D_DEPTH_TEST_FUNC 0x0000130c +#define NVC0_3D_DEPTH_TEST_FUNC 0x0000130c #define NVC0_3D_DEPTH_TEST_FUNC_NEVER 0x00000200 #define NVC0_3D_DEPTH_TEST_FUNC_LESS 0x00000201 #define NVC0_3D_DEPTH_TEST_FUNC_EQUAL 0x00000202 #define NVC0_3D_DEPTH_TEST_FUNC_LEQUAL 0x00000203 -#define NVC0_3D_DEPTH_TEST_FUNC_GREATER 0x00000204 +#define NVC0_3D_DEPTH_TEST_FUNC_GREATER 0x00000204 #define NVC0_3D_DEPTH_TEST_FUNC_NOTEQUAL 0x00000205 #define NVC0_3D_DEPTH_TEST_FUNC_GEQUAL 0x00000206 #define NVC0_3D_DEPTH_TEST_FUNC_ALWAYS 0x00000207 #define NVC0_3D_ALPHA_TEST_REF 0x00001310 -#define NVC0_3D_ALPHA_TEST_FUNC 0x00001314 +#define NVC0_3D_ALPHA_TEST_FUNC 0x00001314 #define NVC0_3D_ALPHA_TEST_FUNC_NEVER 0x00000200 #define NVC0_3D_ALPHA_TEST_FUNC_LESS 0x00000201 #define NVC0_3D_ALPHA_TEST_FUNC_EQUAL 0x00000202 #define NVC0_3D_ALPHA_TEST_FUNC_LEQUAL 0x00000203 -#define NVC0_3D_ALPHA_TEST_FUNC_GREATER 0x00000204 +#define NVC0_3D_ALPHA_TEST_FUNC_GREATER 0x00000204 #define NVC0_3D_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205 #define NVC0_3D_ALPHA_TEST_FUNC_GEQUAL 0x00000206 #define NVC0_3D_ALPHA_TEST_FUNC_ALWAYS 0x00000207 -#define NVC0_3D_DRAW_TFB_STRIDE 0x00001318 +#define NVC0_3D_DRAW_TFB_STRIDE 0x00001318 #define NVC0_3D_DRAW_TFB_STRIDE__MIN 0x00000001 #define NVC0_3D_DRAW_TFB_STRIDE__MAX 0x00000fff -#define NVC0_3D_BLEND_COLOR(i0) (0x0000131c + 0x4*(i0)) +#define NVC0_3D_BLEND_COLOR(i0) (0x0000131c + 0x4*(i0)) #define NVC0_3D_BLEND_COLOR__ESIZE 0x00000004 #define NVC0_3D_BLEND_COLOR__LEN 0x00000004 @@ -597,8 +973,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_TIC_FLUSH_ENTRY__SHIFT 4 #define NVC0_3D_TEX_CACHE_CTL 0x00001338 -#define NVC0_3D_TEX_CACHE_CTL_UNK1__MASK 0x00000030 -#define NVC0_3D_TEX_CACHE_CTL_UNK1__SHIFT 4 +#define NVC0_3D_TEX_CACHE_CTL_UNK0__MASK 0x00000007 +#define NVC0_3D_TEX_CACHE_CTL_UNK0__SHIFT 0 +#define NVE4_3D_TEX_CACHE_CTL_UNK0 0x00000001 +#define NVC0_3D_TEX_CACHE_CTL_ENTRY__MASK 0x03fffff0 +#define NVC0_3D_TEX_CACHE_CTL_ENTRY__SHIFT 4 #define NVC0_3D_BLEND_SEPARATE_ALPHA 0x0000133c @@ -622,6 +1001,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_BLEND_FUNC_SRC_ALPHA 0x00001350 +#define NVC0_3D_UNK1354 0x00001354 + #define NVC0_3D_BLEND_FUNC_DST_ALPHA 0x00001358 #define NVC0_3D_BLEND_ENABLE_COMMON 0x0000135c @@ -639,8 +1020,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01 #define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02 #define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03 -#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507 -#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508 #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL 0x00001388 #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000 @@ -662,19 +1043,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507 #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508 -#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC 0x00001390 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC 0x00001390 #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200 #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201 #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202 #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203 -#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204 #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205 #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206 #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207 #define NVC0_3D_STENCIL_FRONT_FUNC_REF 0x00001394 -#define NVC0_3D_STENCIL_FRONT_FUNC_MASK 0x00001398 +#define NVC0_3D_STENCIL_FRONT_FUNC_MASK 0x00001398 #define NVC0_3D_STENCIL_FRONT_MASK 0x0000139c @@ -698,20 +1079,47 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_LINE_WIDTH_ALIASED 0x000013b4 -#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT 0x00001420 -#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MIN 0x00000001 -#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MAX 0x00000400 +#define NVC0_3D_UNK1418 0x00001418 + +#define NVC0_3D_UNK1420 0x00001420 + +#define NVC0_3D_UNK1424_TSC_FLUSH 0x00001424 + +#define NVC0_3D_UNK1428_TIC_FLUSH 0x00001428 #define NVC0_3D_VERTEX_ARRAY_FLUSH 0x0000142c -#define NVC0_3D_VB_ELEMENT_BASE 0x00001434 +#define NVC0_3D_UNK1430 0x00001430 +#define NVC0_3D_UNK1430_UNK0 0x00000010 +#define NVC0_3D_UNK1430_UNK1 0x00000100 + +#define NVC0_3D_VB_ELEMENT_BASE 0x00001434 #define NVC0_3D_VB_INSTANCE_BASE 0x00001438 -#define NVC0_3D_CODE_CB_FLUSH 0x00001440 +#define NVC0_3D_UNK143C_CLEAR_FLAGS 0x0000143c +#define NVC0_3D_UNK143C_CLEAR_FLAGS_STENCIL_MASK 0x00000001 +#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT__MASK 0x00000010 +#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT__SHIFT 4 +#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT_SCISSOR 0x00000000 +#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT_VIEWPORT 0x00000000 + +#define NVC0_3D_UNK1444 0x00001444 + +#define NVC0_3D_UNK1448 0x00001448 + +#define NVC0_3D_UNK144C 0x0000144c + +#define NVC0_3D_UNK1450 0x00001450 + +#define NVC0_3D_UNK1454 0x00001454 + +#define NVC0_3D_UNK1464 0x00001464 + +#define NVC0_3D_UNK1500 0x00001500 #define NVC0_3D_CLIPID_HEIGHT 0x00001504 -#define NVC0_3D_CLIPID_HEIGHT__MAX 0x00002000 +#define NVC0_3D_CLIPID_HEIGHT__MAX 0x00004000 #define NVC0_3D_CLIPID_FILL_RECT_HORIZ 0x00001508 #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK 0x0000ffff @@ -720,7 +1128,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__SHIFT 16 #define NVC0_3D_CLIPID_FILL_RECT_VERT 0x0000150c -#define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__MASK 0x0000ffff +#define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__MASK 0x0000ffff #define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__SHIFT 0 #define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK 0xffff0000 #define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__SHIFT 16 @@ -744,7 +1152,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_POINT_SPRITE_ENABLE 0x00001520 #define NVC0_3D_COUNTER_RESET 0x00001530 -#define NVC0_3D_COUNTER_RESET_SAMPLECNT 0x00000001 +#define NVC0_3D_COUNTER_RESET_SAMPLECNT 0x00000001 #define NVC0_3D_COUNTER_RESET_UNK02 0x00000002 #define NVC0_3D_COUNTER_RESET_UNK03 0x00000003 #define NVC0_3D_COUNTER_RESET_UNK04 0x00000004 @@ -776,15 +1184,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_COND_ADDRESS_LOW 0x00001554 #define NVC0_3D_COND_MODE 0x00001558 -#define NVC0_3D_COND_MODE_NEVER 0x00000000 +#define NVC0_3D_COND_MODE_NEVER 0x00000000 #define NVC0_3D_COND_MODE_ALWAYS 0x00000001 #define NVC0_3D_COND_MODE_RES_NON_ZERO 0x00000002 -#define NVC0_3D_COND_MODE_EQUAL 0x00000003 +#define NVC0_3D_COND_MODE_EQUAL 0x00000003 #define NVC0_3D_COND_MODE_NOT_EQUAL 0x00000004 #define NVC0_3D_TSC_ADDRESS_HIGH 0x0000155c -#define NVC0_3D_TSC_ADDRESS_LOW 0x00001560 +#define NVC0_3D_TSC_ADDRESS_LOW 0x00001560 #define NVC0_3D_TSC_ADDRESS_LOW__ALIGN 0x00000020 #define NVC0_3D_TSC_LIMIT 0x00001564 @@ -796,13 +1204,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_TIC_ADDRESS_HIGH 0x00001574 -#define NVC0_3D_TIC_ADDRESS_LOW 0x00001578 +#define NVC0_3D_TIC_ADDRESS_LOW 0x00001578 #define NVC0_3D_TIC_LIMIT 0x0000157c #define NVC0_3D_ZCULL_REGION 0x00001590 -#define NVC0_3D_STENCIL_TWO_SIDE_ENABLE 0x00001594 +#define NVC0_3D_STENCIL_TWO_SIDE_ENABLE 0x00001594 #define NVC0_3D_STENCIL_BACK_OP_FAIL 0x00001598 #define NVC0_3D_STENCIL_BACK_OP_FAIL_ZERO 0x00000000 @@ -821,8 +1229,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01 #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02 #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03 -#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507 -#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508 +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508 #define NVC0_3D_STENCIL_BACK_OP_ZPASS 0x000015a0 #define NVC0_3D_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000 @@ -831,8 +1239,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01 #define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02 #define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03 -#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507 -#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC 0x000015a4 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200 @@ -840,7 +1248,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204 -#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207 @@ -850,8 +1258,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_POLYGON_OFFSET_UNITS 0x000015bc +#define NVC0_3D_UNK15C8 0x000015c8 + #define NVC0_3D_LAYER 0x000015cc -#define NVC0_3D_LAYER_IDX__MASK 0x0000ffff +#define NVC0_3D_LAYER_IDX__MASK 0x0000ffff #define NVC0_3D_LAYER_IDX__SHIFT 0 #define NVC0_3D_LAYER_USE_GP 0x00010000 @@ -868,24 +1278,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_MULTISAMPLE_MODE_MS8_CS8 0x0000000a #define NVC0_3D_MULTISAMPLE_MODE_MS8_CS24 0x0000000b -#define NVC0_3D_VERTEX_BEGIN_D3D 0x000015d4 -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE__MASK 0x0fffffff -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE__SHIFT 0 -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_POINTS 0x00000001 -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES 0x00000002 -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP 0x00000003 -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES 0x00000004 -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP 0x00000005 -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES_ADJACENCY 0x0000000a -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP_ADJACENCY 0x0000000b -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES_ADJACENCY 0x0000000c -#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY 0x0000000d -#define NVC0_3D_VERTEX_BEGIN_D3D_INSTANCE_NEXT 0x10000000 - -#define NVC0_3D_VERTEX_END_D3D 0x000015d8 -#define NVC0_3D_VERTEX_END_D3D_UNK0 0x00000001 -#define NVC0_3D_VERTEX_END_D3D_UNK1 0x00000002 - #define NVC0_3D_EDGEFLAG 0x000015e4 #define NVC0_3D_VB_ELEMENT_U32 0x000015e8 @@ -897,46 +1289,52 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__SHIFT 0 #define NVC0_3D_VB_ELEMENT_U16 0x000015f0 -#define NVC0_3D_VB_ELEMENT_U16_I0__MASK 0x0000ffff +#define NVC0_3D_VB_ELEMENT_U16_I0__MASK 0x0000ffff #define NVC0_3D_VB_ELEMENT_U16_I0__SHIFT 0 -#define NVC0_3D_VB_ELEMENT_U16_I1__MASK 0xffff0000 +#define NVC0_3D_VB_ELEMENT_U16_I1__MASK 0xffff0000 #define NVC0_3D_VB_ELEMENT_U16_I1__SHIFT 16 #define NVC0_3D_VERTEX_BASE_HIGH 0x000015f4 -#define NVC0_3D_VERTEX_BASE_LOW 0x000015f8 +#define NVC0_3D_VERTEX_BASE_LOW 0x000015f8 #define NVC0_3D_ZCULL_WINDOW_OFFSET_X 0x000015fc #define NVC0_3D_ZCULL_WINDOW_OFFSET_Y 0x00001600 #define NVC0_3D_POINT_COORD_REPLACE 0x00001604 +#define NVC0_3D_POINT_COORD_REPLACE_UNK0__MASK 0x00000003 +#define NVC0_3D_POINT_COORD_REPLACE_UNK0__SHIFT 0 +#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK0 0x00000000 +#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK1 0x00000001 +#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK2 0x00000002 #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__MASK 0x00000004 -#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__SHIFT 2 +#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__SHIFT 2 #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_LOWER_LEFT 0x00000000 #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_UPPER_LEFT 0x00000004 -#define NVC0_3D_POINT_COORD_REPLACE_ENABLE__MASK 0x000007f8 +#define NVC0_3D_POINT_COORD_REPLACE_ENABLE__MASK 0x00001ff8 #define NVC0_3D_POINT_COORD_REPLACE_ENABLE__SHIFT 3 #define NVC0_3D_CODE_ADDRESS_HIGH 0x00001608 #define NVC0_3D_CODE_ADDRESS_LOW 0x0000160c +#define NVC0_3D_UNK1610 0x00001610 + #define NVC0_3D_VERTEX_END_GL 0x00001614 #define NVC0_3D_VERTEX_END_GL_UNK0 0x00000001 -#define NVC0_3D_VERTEX_END_GL_UNK1 0x00000002 -#define NVC0_3D_VERTEX_BEGIN_GL 0x00001618 -#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK 0x0fffffff +#define NVC0_3D_VERTEX_BEGIN_GL 0x00001618 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK 0x0000ffff #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT 0 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS 0x00000000 -#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES 0x00000001 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES 0x00000001 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_LOOP 0x00000002 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP 0x00000003 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES 0x00000004 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP 0x00000005 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_FAN 0x00000006 -#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS 0x00000007 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS 0x00000007 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUAD_STRIP 0x00000008 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POLYGON 0x00000009 #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES_ADJACENCY 0x0000000a @@ -944,13 +1342,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES_ADJACENCY 0x0000000c #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY 0x0000000d #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_PATCHES 0x0000000e +#define NVC0_3D_VERTEX_BEGIN_GL_UNK24 0x01000000 #define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT 0x04000000 #define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_CONT 0x08000000 +#define NVC0_3D_VERTEX_BEGIN_GL_UNK29 0x20000000 +#define NVC0_3D_VERTEX_BEGIN_GL_UNK30 0x40000000 #define NVC0_3D_VERTEX_ID_REPLACE 0x0000161c #define NVC0_3D_VERTEX_ID_REPLACE_ENABLE 0x00000001 #define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__MASK 0x00000ff0 -#define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__SHIFT 4 +#define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__SHIFT 4 + +#define NVC0_3D_UNK1620 0x00001620 + +#define NVC0_3D_UNK1624 0x00001624 + +#define NVC0_3D_UNK162C 0x0000162c + +#define NVC0_3D_UNK1634 0x00001634 + +#define NVC0_3D_UNK1638 0x00001638 + +#define NVC0_3D_UNK163C 0x0000163c #define NVC0_3D_VERTEX_DATA 0x00001640 @@ -958,11 +1371,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_PRIM_RESTART_INDEX 0x00001648 -#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN 0x0000164c -#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID 0x00000001 -#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID 0x00000010 -#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID 0x00000100 -#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_UNK12 0x00001000 +#define NVC0_3D_VERTEX_ID_GEN_MODE 0x0000164c +#define NVC0_3D_VERTEX_ID_GEN_MODE_DRAW_ARRAYS_ADD_START 0x00001000 #define NVC0_3D_POINT_SMOOTH_ENABLE 0x00001658 @@ -971,10 +1381,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_POINT_RASTER_RULES_D3D 0x00000001 #define NVC0_3D_TEX_MISC 0x00001664 +#define NVC0_3D_TEX_MISC_UNK 0x00000002 #define NVC0_3D_TEX_MISC_SEAMLESS_CUBE_MAP 0x00000004 +#define NVC0_3D_LINE_SMOOTH_BLUR 0x00001668 +#define NVC0_3D_LINE_SMOOTH_BLUR_LOW 0x00000000 +#define NVC0_3D_LINE_SMOOTH_BLUR_MEDIUM 0x00000001 +#define NVC0_3D_LINE_SMOOTH_BLUR_HIGH 0x00000002 + #define NVC0_3D_LINE_STIPPLE_ENABLE 0x0000166c +#define NVC0_3D_COVERAGE_LUT(i0) (0x00001670 + 0x4*(i0)) +#define NVC0_3D_COVERAGE_LUT__ESIZE 0x00000004 +#define NVC0_3D_COVERAGE_LUT__LEN 0x00000004 +#define NVC0_3D_COVERAGE_LUT_0__MASK 0x000000ff +#define NVC0_3D_COVERAGE_LUT_0__SHIFT 0 +#define NVC0_3D_COVERAGE_LUT_1__MASK 0x0000ff00 +#define NVC0_3D_COVERAGE_LUT_1__SHIFT 8 +#define NVC0_3D_COVERAGE_LUT_2__MASK 0x00ff0000 +#define NVC0_3D_COVERAGE_LUT_2__SHIFT 16 +#define NVC0_3D_COVERAGE_LUT_3__MASK 0xff000000 +#define NVC0_3D_COVERAGE_LUT_3__SHIFT 24 + #define NVC0_3D_LINE_STIPPLE_PATTERN 0x00001680 #define NVC0_3D_PROVOKING_VERTEX_LAST 0x00001684 @@ -983,11 +1411,33 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_POLYGON_STIPPLE_ENABLE 0x0000168c +#define NVC0_3D_UNK1690 0x00001690 +#define NVC0_3D_UNK1690_ALWAYS_DERIV 0x00000001 +#define NVC0_3D_UNK1690_UNK16 0x00010000 + +#define NVE4_3D_UNK1690 0x00001690 + +#define NVC0_3D_UNK169C 0x0000169c + +#define NVC0_3D_UNK16A0 0x000016a0 + +#define NVC0_3D_UNK16A4 0x000016a4 + +#define NVC0_3D_UNK16A8 0x000016a8 + +#define NVC0_3D_UNK16B4 0x000016b4 +#define NVC0_3D_UNK16B4_UNK0 0x00000001 +#define NVC0_3D_UNK16B4_UNK1 0x00000002 + #define NVC0_3D_POLYGON_STIPPLE_PATTERN(i0) (0x00001700 + 0x4*(i0)) #define NVC0_3D_POLYGON_STIPPLE_PATTERN__ESIZE 0x00000004 #define NVC0_3D_POLYGON_STIPPLE_PATTERN__LEN 0x00000020 -#define NVC0_3D_ZETA_BASE_LAYER 0x0000179c +#define NVC0_3D_UNK1790 0x00001790 + +#define NVC0_3D_UNK1794 0x00001794 + +#define NVC0_3D_ZETA_BASE_LAYER 0x0000179c #define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_HIGH 0x000017bc @@ -998,16 +1448,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VERTEX_QUARANTINE_SIZE_32K 0x00000002 #define NVC0_3D_VERTEX_QUARANTINE_SIZE_64K 0x00000003 -#define NVC0_3D_STRMOUT_UNK1780(i0) (0x00001780 + 0x4*(i0)) -#define NVC0_3D_STRMOUT_UNK1780__ESIZE 0x00000004 -#define NVC0_3D_STRMOUT_UNK1780__LEN 0x00000004 - -#define NVC0_3D_UNK17BC_ADDRESS_HIGH 0x000017bc - -#define NVC0_3D_UNK17BC_ADDRESS_LOW 0x000017c0 - -#define NVC0_3D_UNK17BC_LIMIT 0x000017c4 - #define NVC0_3D_INDEX_ARRAY_START_HIGH 0x000017c8 #define NVC0_3D_INDEX_ARRAY_START_LOW 0x000017cc @@ -1016,19 +1456,29 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_INDEX_ARRAY_LIMIT_LOW 0x000017d4 -#define NVC0_3D_INDEX_LOG2_SIZE 0x000017d8 +#define NVC0_3D_INDEX_FORMAT 0x000017d8 +#define NVC0_3D_INDEX_FORMAT_I8 0x00000000 +#define NVC0_3D_INDEX_FORMAT_I16 0x00000001 +#define NVC0_3D_INDEX_FORMAT_I32 0x00000002 #define NVC0_3D_INDEX_BATCH_FIRST 0x000017dc #define NVC0_3D_INDEX_BATCH_COUNT 0x000017e0 +#define NVC0_3D_UN17E4(i0) (0x000017e4 + 0x4*(i0)) +#define NVC0_3D_UN17E4__ESIZE 0x00000004 +#define NVC0_3D_UN17E4__LEN 0x00000006 + #define NVC0_3D_POLYGON_OFFSET_CLAMP 0x0000187c #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE(i0) (0x00001880 + 0x4*(i0)) #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE 0x00000004 #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__LEN 0x00000020 -#define NVC0_3D_VP_POINT_SIZE_EN 0x00001910 +#define NVC0_3D_VP_POINT_SIZE 0x00001910 +#define NVC0_3D_VP_POINT_SIZE_ENABLE 0x00000001 +#define NVC0_3D_VP_POINT_SIZE_UNK4__MASK 0x00000ff0 +#define NVC0_3D_VP_POINT_SIZE_UNK4__SHIFT 4 #define NVC0_3D_CULL_FACE_ENABLE 0x00001918 @@ -1037,21 +1487,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_FRONT_FACE_CCW 0x00000901 #define NVC0_3D_CULL_FACE 0x00001920 -#define NVC0_3D_CULL_FACE_FRONT 0x00000404 +#define NVC0_3D_CULL_FACE_FRONT 0x00000404 #define NVC0_3D_CULL_FACE_BACK 0x00000405 #define NVC0_3D_CULL_FACE_FRONT_AND_BACK 0x00000408 -#define NVC0_3D_PIXEL_CENTER_INTEGER 0x00001924 +#define NVC0_3D_PIXEL_CENTER_INTEGER 0x00001924 #define NVC0_3D_VIEWPORT_TRANSFORM_EN 0x0000192c +#define NVC0_3D_UNK1930 0x00001930 + #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL 0x0000193c #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_RANGE_0_1 0x00000001 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__MASK 0x00000006 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__SHIFT 1 -#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK0 0x00000000 -#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK1 0x00000002 -#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK2 0x00000004 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK0 0x00000000 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK1 0x00000002 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK2 0x00000004 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_NEAR 0x00000008 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_FAR 0x00000010 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK7 0x00000080 @@ -1097,22 +1549,40 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_CLIP_DISTANCE_MODE_7_CLIP 0x00000000 #define NVC0_3D_CLIP_DISTANCE_MODE_7_CULL 0x10000000 +#define NVC0_3D_UNK1944 0x00001944 + +#define NVC0_3D_UNK1948 0x00001948 + #define NVC0_3D_CLIP_RECTS_EN 0x0000194c -#define NVC0_3D_CLIP_RECTS_MODE 0x00001950 +#define NVC0_3D_CLIP_RECTS_MODE 0x00001950 #define NVC0_3D_CLIP_RECTS_MODE_INSIDE_ANY 0x00000000 #define NVC0_3D_CLIP_RECTS_MODE_OUTSIDE_ALL 0x00000001 #define NVC0_3D_CLIP_RECTS_MODE_NEVER 0x00000002 #define NVC0_3D_ZCULL_INVALIDATE 0x00001958 -#define NVC0_3D_ZCULL_TEST_MASK 0x0000196c -#define NVC0_3D_ZCULL_TEST_MASK_FAIL_GT_PASS_LT 0x00000001 -#define NVC0_3D_ZCULL_TEST_MASK_PASS_GT_FAIL_LT 0x00000010 +#define NVC0_3D_ZCULL_UNK1968 0x00001968 +#define NVC0_3D_ZCULL_UNK1968_TESTS_ENABLE 0x00000001 +#define NVC0_3D_ZCULL_UNK1968_UNK4 0x00000010 -#define NVC0_3D_FP_ZORDER_CTRL 0x0000196c -#define NVC0_3D_FP_ZORDER_CTRL_0 0x00000001 -#define NVC0_3D_FP_ZORDER_CTRL_1 0x00000010 +#define NVC0_3D_ZCULL_TEST_MASK 0x0000196c +#define NVC0_3D_ZCULL_TEST_MASK_FAIL_GT_PASS_LT 0x00000001 +#define NVC0_3D_ZCULL_TEST_MASK_PASS_GT_FAIL_LT 0x00000010 + +#define NVC0_3D_UNK1970_D3D 0x00001970 +#define NVC0_3D_UNK1970_D3D_POINTS 0x00000001 +#define NVC0_3D_UNK1970_D3D_LINES 0x00000002 +#define NVC0_3D_UNK1970_D3D_LINE_STRIP 0x00000003 +#define NVC0_3D_UNK1970_D3D_TRIANGLES 0x00000004 +#define NVC0_3D_UNK1970_D3D_TRIANGLE_STRIP 0x00000005 +#define NVC0_3D_UNK1970_D3D_LINES_ADJACENCY 0x0000000a +#define NVC0_3D_UNK1970_D3D_LINE_STRIP_ADJACENCY 0x0000000b +#define NVC0_3D_UNK1970_D3D_TRIANGLES_ADJACENCY 0x0000000c +#define NVC0_3D_UNK1970_D3D_TRIANGLE_STRIP_ADJACENCY 0x0000000d +#define NVC0_3D_UNK1970_D3D_PATCHES 0x0000000e + +#define NVC0_3D_UNK1978 0x00001978 #define NVC0_3D_CLIPID_ENABLE 0x0000197c @@ -1122,9 +1592,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_CLIPID_ID 0x00001984 -#define NVC0_3D_DEPTH_BOUNDS_EN 0x000019bc +#define NVC0_3D_DEPTH_BOUNDS_EN 0x000019bc + +#define NVC0_3D_UNK19C0 0x000019c0 -#define NVC0_3D_LOGIC_OP_ENABLE 0x000019c4 +#define NVC0_3D_LOGIC_OP_ENABLE 0x000019c4 #define NVC0_3D_LOGIC_OP 0x000019c8 #define NVC0_3D_LOGIC_OP_CLEAR 0x00001500 @@ -1137,7 +1609,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_LOGIC_OP_OR 0x00001507 #define NVC0_3D_LOGIC_OP_NOR 0x00001508 #define NVC0_3D_LOGIC_OP_EQUIV 0x00001509 -#define NVC0_3D_LOGIC_OP_INVERT 0x0000150a +#define NVC0_3D_LOGIC_OP_INVERT 0x0000150a #define NVC0_3D_LOGIC_OP_OR_REVERSE 0x0000150b #define NVC0_3D_LOGIC_OP_COPY_INVERTED 0x0000150c #define NVC0_3D_LOGIC_OP_OR_INVERTED 0x0000150d @@ -1147,14 +1619,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_ZETA_COMP_ENABLE 0x000019cc #define NVC0_3D_CLEAR_BUFFERS 0x000019d0 -#define NVC0_3D_CLEAR_BUFFERS_Z 0x00000001 -#define NVC0_3D_CLEAR_BUFFERS_S 0x00000002 -#define NVC0_3D_CLEAR_BUFFERS_R 0x00000004 -#define NVC0_3D_CLEAR_BUFFERS_G 0x00000008 -#define NVC0_3D_CLEAR_BUFFERS_B 0x00000010 -#define NVC0_3D_CLEAR_BUFFERS_A 0x00000020 +#define NVC0_3D_CLEAR_BUFFERS_Z 0x00000001 +#define NVC0_3D_CLEAR_BUFFERS_S 0x00000002 +#define NVC0_3D_CLEAR_BUFFERS_R 0x00000004 +#define NVC0_3D_CLEAR_BUFFERS_G 0x00000008 +#define NVC0_3D_CLEAR_BUFFERS_B 0x00000010 +#define NVC0_3D_CLEAR_BUFFERS_A 0x00000020 #define NVC0_3D_CLEAR_BUFFERS_RT__MASK 0x000003c0 -#define NVC0_3D_CLEAR_BUFFERS_RT__SHIFT 6 +#define NVC0_3D_CLEAR_BUFFERS_RT__SHIFT 6 #define NVC0_3D_CLEAR_BUFFERS_LAYER__MASK 0x001ffc00 #define NVC0_3D_CLEAR_BUFFERS_LAYER__SHIFT 10 @@ -1166,12 +1638,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_COLOR_MASK(i0) (0x00001a00 + 0x4*(i0)) #define NVC0_3D_COLOR_MASK__ESIZE 0x00000004 -#define NVC0_3D_COLOR_MASK__LEN 0x00000008 +#define NVC0_3D_COLOR_MASK__LEN 0x00000008 #define NVC0_3D_COLOR_MASK_R 0x0000000f #define NVC0_3D_COLOR_MASK_G 0x000000f0 #define NVC0_3D_COLOR_MASK_B 0x00000f00 #define NVC0_3D_COLOR_MASK_A 0x0000f000 +#define NVC0_3D_DELAY 0x00001a24 + +#define NVC0_3D_UNK1A2C(i0) (0x00001a2c + 0x4*(i0)) +#define NVC0_3D_UNK1A2C__ESIZE 0x00000004 +#define NVC0_3D_UNK1A2C__LEN 0x00000005 + #define NVC0_3D_QUERY_ADDRESS_HIGH 0x00001b00 #define NVC0_3D_QUERY_ADDRESS_LOW 0x00001b04 @@ -1181,12 +1659,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_QUERY_GET 0x00001b0c #define NVC0_3D_QUERY_GET_MODE__MASK 0x00000003 #define NVC0_3D_QUERY_GET_MODE__SHIFT 0 -#define NVC0_3D_QUERY_GET_MODE_WRITE_UNK0 0x00000000 +#define NVC0_3D_QUERY_GET_MODE_WRITE 0x00000000 #define NVC0_3D_QUERY_GET_MODE_SYNC 0x00000001 #define NVC0_3D_QUERY_GET_MODE_WRITE_UNK2 0x00000002 -#define NVC0_3D_QUERY_GET_FENCE 0x00000010 +#define NVC0_3D_QUERY_GET_MODE_WRITE_INTR_NRHOST 0x00000003 +#define NVC0_3D_QUERY_GET_UNK2 0x00000004 +#define NVC0_3D_QUERY_GET_FENCE 0x00000010 #define NVC0_3D_QUERY_GET_STREAM__MASK 0x000000e0 -#define NVC0_3D_QUERY_GET_STREAM__SHIFT 5 +#define NVC0_3D_QUERY_GET_STREAM__SHIFT 5 #define NVC0_3D_QUERY_GET_UNK8 0x00000100 #define NVC0_3D_QUERY_GET_UNIT__MASK 0x0000f000 #define NVC0_3D_QUERY_GET_UNIT__SHIFT 12 @@ -1195,19 +1675,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_QUERY_GET_SYNC_COND_NEQUAL 0x00000000 #define NVC0_3D_QUERY_GET_SYNC_COND_GREATER 0x00010000 #define NVC0_3D_QUERY_GET_INTR 0x00100000 -#define NVC0_3D_QUERY_GET_UNK21 0x00200000 +#define NVC0_3D_QUERY_GET_UNK21 0x00200000 #define NVC0_3D_QUERY_GET_SELECT__MASK 0x0f800000 -#define NVC0_3D_QUERY_GET_SELECT__SHIFT 23 +#define NVC0_3D_QUERY_GET_SELECT__SHIFT 23 #define NVC0_3D_QUERY_GET_SELECT_ZERO 0x00000000 #define NVC0_3D_QUERY_GET_SELECT_SAMPLECNT 0x01000000 #define NVC0_3D_QUERY_GET_SELECT_EMITTED_PRIMS 0x05800000 #define NVC0_3D_QUERY_GET_SELECT_GENERATED_PRIMS 0x09000000 -#define NVC0_3D_QUERY_GET_SHORT 0x10000000 +#define NVC0_3D_QUERY_GET_SHORT 0x10000000 #define NVC0_3D_VERTEX_ARRAY_FETCH(i0) (0x00001c00 + 0x10*(i0)) #define NVC0_3D_VERTEX_ARRAY_FETCH__ESIZE 0x00000010 -#define NVC0_3D_VERTEX_ARRAY_FETCH__LEN 0x00000020 -#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK 0x00000fff +#define NVC0_3D_VERTEX_ARRAY_FETCH__LEN 0x00000020 +#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK 0x00000fff #define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT 0 #define NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE 0x00001000 @@ -1227,16 +1707,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_IBLEND__ESIZE 0x00000020 #define NVC0_3D_IBLEND__LEN 0x00000008 -#define NVC0_3D_IBLEND_EQUATION_RGB(i0) (0x00001e04 + 0x20*(i0)) +#define NVC0_3D_IBLEND_SEPARATE_ALPHA(i0) (0x00001e00 + 0x20*(i0)) + +#define NVC0_3D_IBLEND_EQUATION_RGB(i0) (0x00001e04 + 0x20*(i0)) #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_ADD 0x00008006 -#define NVC0_3D_IBLEND_EQUATION_RGB_MIN 0x00008007 -#define NVC0_3D_IBLEND_EQUATION_RGB_MAX 0x00008008 +#define NVC0_3D_IBLEND_EQUATION_RGB_MIN 0x00008007 +#define NVC0_3D_IBLEND_EQUATION_RGB_MAX 0x00008008 #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b -#define NVC0_3D_IBLEND_FUNC_SRC_RGB(i0) (0x00001e08 + 0x20*(i0)) +#define NVC0_3D_IBLEND_FUNC_SRC_RGB(i0) (0x00001e08 + 0x20*(i0)) -#define NVC0_3D_IBLEND_FUNC_DST_RGB(i0) (0x00001e0c + 0x20*(i0)) +#define NVC0_3D_IBLEND_FUNC_DST_RGB(i0) (0x00001e0c + 0x20*(i0)) #define NVC0_3D_IBLEND_EQUATION_ALPHA(i0) (0x00001e10 + 0x20*(i0)) #define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006 @@ -1259,11 +1741,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_SP(i0) (0x00002000 + 0x40*(i0)) #define NVC0_3D_SP__ESIZE 0x00000040 -#define NVC0_3D_SP__LEN 0x00000006 +#define NVC0_3D_SP__LEN 0x00000006 #define NVC0_3D_SP_SELECT(i0) (0x00002000 + 0x40*(i0)) #define NVC0_3D_SP_SELECT_ENABLE 0x00000001 -#define NVC0_3D_SP_SELECT_PROGRAM__MASK 0x00000070 +#define NVC0_3D_SP_SELECT_PROGRAM__MASK 0x000000f0 #define NVC0_3D_SP_SELECT_PROGRAM__SHIFT 4 #define NVC0_3D_SP_SELECT_PROGRAM_VP_A 0x00000000 #define NVC0_3D_SP_SELECT_PROGRAM_VP_B 0x00000010 @@ -1272,21 +1754,50 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_SP_SELECT_PROGRAM_GP 0x00000040 #define NVC0_3D_SP_SELECT_PROGRAM_FP 0x00000050 -#define NVC0_3D_SP_START_ID(i0) (0x00002004 + 0x40*(i0)) +#define NVC0_3D_SP_START_ID(i0) (0x00002004 + 0x40*(i0)) + +#define NVC0_3D_SP_UNK08(i0) (0x00002008 + 0x40*(i0)) #define NVC0_3D_SP_GPR_ALLOC(i0) (0x0000200c + 0x40*(i0)) +#define NVC0_3D_SP_TYPE(i0) (0x00002010 + 0x40*(i0)) +#define NVC0_3D_SP_TYPE_VP 0x00000000 +#define NVC0_3D_SP_TYPE_TCP 0x00000001 +#define NVC0_3D_SP_TYPE_TEP 0x00000002 +#define NVC0_3D_SP_TYPE_GP 0x00000003 +#define NVC0_3D_SP_TYPE_FP 0x00000004 + +#define NVC0_3D_SP_UNK14(i0, i1) (0x00002014 + 0x40*(i0) + 0x4*(i1)) +#define NVC0_3D_SP_UNK14__ESIZE 0x00000004 +#define NVC0_3D_SP_UNK14__LEN 0x00000004 + #define NVC0_3D_TEX_LIMITS(i0) (0x00002200 + 0x10*(i0)) #define NVC0_3D_TEX_LIMITS__ESIZE 0x00000010 -#define NVC0_3D_TEX_LIMITS__LEN 0x00000005 +#define NVC0_3D_TEX_LIMITS__LEN 0x00000005 +#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MASK 0x0000000f +#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__SHIFT 0 +#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MIN 0x00000000 +#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MAX 0x00000004 +#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MASK 0x000000f0 +#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__SHIFT 4 +#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MIN 0x00000000 +#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MAX 0x00000007 + +#define NVC0_3D_UNK2204(i0) (0x00002204 + 0x10*(i0)) +#define NVC0_3D_UNK2204__ESIZE 0x00000010 +#define NVC0_3D_UNK2204__LEN 0x00000005 + +#define NVC0_3D_UNK2208(i0) (0x00002208 + 0x10*(i0)) +#define NVC0_3D_UNK2208__ESIZE 0x00000010 +#define NVC0_3D_UNK2208__LEN 0x00000005 #define NVC0_3D_FIRMWARE(i0) (0x00002300 + 0x4*(i0)) -#define NVC0_3D_FIRMWARE__ESIZE 0x00000004 +#define NVC0_3D_FIRMWARE__ESIZE 0x00000004 #define NVC0_3D_FIRMWARE__LEN 0x00000020 -#define NVC0_3D_CB_SIZE 0x00002380 +#define NVC0_3D_CB_SIZE 0x00002380 -#define NVC0_3D_CB_ADDRESS_HIGH 0x00002384 +#define NVC0_3D_CB_ADDRESS_HIGH 0x00002384 #define NVC0_3D_CB_ADDRESS_LOW 0x00002388 @@ -1297,63 +1808,247 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_CB_DATA__LEN 0x00000010 #define NVC0_3D_BIND_TSC(i0) (0x00002400 + 0x20*(i0)) -#define NVC0_3D_BIND_TSC__ESIZE 0x00000020 +#define NVC0_3D_BIND_TSC__ESIZE 0x00000020 #define NVC0_3D_BIND_TSC__LEN 0x00000005 -#define NVC0_3D_BIND_TSC_ACTIVE 0x00000001 +#define NVC0_3D_BIND_TSC_ACTIVE 0x00000001 #define NVC0_3D_BIND_TSC_SAMPLER__MASK 0x00000ff0 -#define NVC0_3D_BIND_TSC_SAMPLER__SHIFT 4 +#define NVC0_3D_BIND_TSC_SAMPLER__SHIFT 4 #define NVC0_3D_BIND_TSC_TSC__MASK 0x01fff000 #define NVC0_3D_BIND_TSC_TSC__SHIFT 12 #define NVC0_3D_BIND_TIC(i0) (0x00002404 + 0x20*(i0)) -#define NVC0_3D_BIND_TIC__ESIZE 0x00000020 +#define NVC0_3D_BIND_TIC__ESIZE 0x00000020 #define NVC0_3D_BIND_TIC__LEN 0x00000005 -#define NVC0_3D_BIND_TIC_ACTIVE 0x00000001 +#define NVC0_3D_BIND_TIC_ACTIVE 0x00000001 #define NVC0_3D_BIND_TIC_TEXTURE__MASK 0x000001fe -#define NVC0_3D_BIND_TIC_TEXTURE__SHIFT 1 +#define NVC0_3D_BIND_TIC_TEXTURE__SHIFT 1 #define NVC0_3D_BIND_TIC_TIC__MASK 0x7ffffe00 #define NVC0_3D_BIND_TIC_TIC__SHIFT 9 +#define NVC0_3D_BIND_TSC2(i0) (0x00002408 + 0x20*(i0)) +#define NVC0_3D_BIND_TSC2__ESIZE 0x00000020 +#define NVC0_3D_BIND_TSC2__LEN 0x00000005 +#define NVC0_3D_BIND_TSC2_ACTIVE 0x00000001 +#define NVC0_3D_BIND_TSC2_SAMPLER__MASK 0x00000010 +#define NVC0_3D_BIND_TSC2_SAMPLER__SHIFT 4 +#define NVC0_3D_BIND_TSC2_TSC__MASK 0x01fff000 +#define NVC0_3D_BIND_TSC2_TSC__SHIFT 12 + +#define NVC0_3D_BIND_TIC2(i0) (0x0000240c + 0x20*(i0)) +#define NVC0_3D_BIND_TIC2__ESIZE 0x00000020 +#define NVC0_3D_BIND_TIC2__LEN 0x00000005 +#define NVC0_3D_BIND_TIC2_ACTIVE 0x00000001 +#define NVC0_3D_BIND_TIC2_TEXTURE__MASK 0x00000002 +#define NVC0_3D_BIND_TIC2_TEXTURE__SHIFT 1 +#define NVC0_3D_BIND_TIC2_TIC__MASK 0x7ffffe00 +#define NVC0_3D_BIND_TIC2_TIC__SHIFT 9 + +#define NVE4_3D_UNK2400_TSC(i0) (0x00002400 + 0x20*(i0)) +#define NVE4_3D_UNK2400_TSC__ESIZE 0x00000020 +#define NVE4_3D_UNK2400_TSC__LEN 0x00000005 + +#define NVE4_3D_UNK2400_TIC(i0) (0x00002404 + 0x20*(i0)) +#define NVE4_3D_UNK2400_TIC__ESIZE 0x00000020 +#define NVE4_3D_UNK2400_TIC__LEN 0x00000005 + +#define NVE4_3D_UNK2400_TSC2(i0) (0x00002408 + 0x20*(i0)) +#define NVE4_3D_UNK2400_TSC2__ESIZE 0x00000020 +#define NVE4_3D_UNK2400_TSC2__LEN 0x00000005 + +#define NVE4_3D_UNK2400_TIC2(i0) (0x0000240c + 0x20*(i0)) +#define NVE4_3D_UNK2400_TIC2__ESIZE 0x00000020 +#define NVE4_3D_UNK2400_TIC2__LEN 0x00000005 + #define NVC0_3D_CB_BIND(i0) (0x00002410 + 0x20*(i0)) #define NVC0_3D_CB_BIND__ESIZE 0x00000020 #define NVC0_3D_CB_BIND__LEN 0x00000005 #define NVC0_3D_CB_BIND_VALID 0x00000001 -#define NVC0_3D_CB_BIND_INDEX__MASK 0x000000f0 +#define NVC0_3D_CB_BIND_INDEX__MASK 0x000001f0 #define NVC0_3D_CB_BIND_INDEX__SHIFT 4 +#define NVC0_3D_UNK2500(i0) (0x00002500 + 0x20*(i0)) +#define NVC0_3D_UNK2500__ESIZE 0x00000020 +#define NVC0_3D_UNK2500__LEN 0x00000005 + +#define NVC0_3D_UNK2504(i0) (0x00002504 + 0x20*(i0)) +#define NVC0_3D_UNK2504__ESIZE 0x00000020 +#define NVC0_3D_UNK2504__LEN 0x00000005 + +#define NVC0_3D_UNK2508(i0) (0x00002508 + 0x20*(i0)) +#define NVC0_3D_UNK2508__ESIZE 0x00000020 +#define NVC0_3D_UNK2508__LEN 0x00000005 + +#define NVC0_3D_UNK250C(i0) (0x0000250c + 0x20*(i0)) +#define NVC0_3D_UNK250C__ESIZE 0x00000020 +#define NVC0_3D_UNK250C__LEN 0x00000005 + +#define NVC0_3D_UNK2510(i0) (0x00002510 + 0x20*(i0)) +#define NVC0_3D_UNK2510__ESIZE 0x00000020 +#define NVC0_3D_UNK2510__LEN 0x00000005 + #define NVC0_3D_VERT_COLOR_CLAMP_EN 0x00002600 +#define NVE4_3D_UNK2604 0x00002604 + #define NVE4_3D_TEX_CB_INDEX 0x00002608 #define NVE4_3D_TEX_CB_INDEX__MIN 0x00000000 #define NVE4_3D_TEX_CB_INDEX__MAX 0x00000010 -#define NVC0_3D_TFB_VARYING_LOCS(i0, i1) (0x00002800 + 0x80*(i0) + 0x4*(i1)) -#define NVC0_3D_TFB_VARYING_LOCS__ESIZE 0x00000004 -#define NVC0_3D_TFB_VARYING_LOCS__LEN 0x00000020 +#define NVE4_3D_UNK260C 0x0000260c -#define NVC0_3D_MACRO_VERTEX_ARRAY_PER_INSTANCE 0x00003800 +#define NVC0_3D_IMAGE(i0) (0x00002700 + 0x20*(i0)) +#define NVC0_3D_IMAGE__ESIZE 0x00000020 +#define NVC0_3D_IMAGE__LEN 0x00000008 -#define NVC0_3D_MACRO_VERTEX_ARRAY_SELECT 0x00003808 +#define NVC0_3D_IMAGE_ADDRESS_HIGH(i0) (0x00002700 + 0x20*(i0)) -#define NVC0_3D_MACRO_BLEND_ENABLES 0x00003810 +#define NVC0_3D_IMAGE_ADDRESS_LOW(i0) (0x00002704 + 0x20*(i0)) -#define NVC0_3D_MACRO_POLYGON_MODE_FRONT 0x00003818 -#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_POINT 0x00001b00 -#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_LINE 0x00001b01 -#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_FILL 0x00001b02 +#define NVC0_3D_IMAGE_WIDTH(i0) (0x00002708 + 0x20*(i0)) -#define NVC0_3D_MACRO_POLYGON_MODE_BACK 0x00003820 -#define NVC0_3D_MACRO_POLYGON_MODE_BACK_POINT 0x00001b00 -#define NVC0_3D_MACRO_POLYGON_MODE_BACK_LINE 0x00001b01 -#define NVC0_3D_MACRO_POLYGON_MODE_BACK_FILL 0x00001b02 +#define NVC0_3D_IMAGE_HEIGHT(i0) (0x0000270c + 0x20*(i0)) +#define NVC0_3D_IMAGE_HEIGHT_HEIGHT__MASK 0x0000ffff +#define NVC0_3D_IMAGE_HEIGHT_HEIGHT__SHIFT 0 +#define NVC0_3D_IMAGE_HEIGHT_UNK16 0x00010000 +#define NVC0_3D_IMAGE_HEIGHT_LINEAR 0x00100000 -#define NVC0_3D_MACRO_GP_SELECT 0x00003828 +#define NVC0_3D_IMAGE_FORMAT(i0) (0x00002710 + 0x20*(i0)) +#define NVC0_3D_IMAGE_FORMAT_UNK0 0x00000001 +#define NVC0_3D_IMAGE_FORMAT_FORMAT_COLOR__MASK 0x00000ff0 +#define NVC0_3D_IMAGE_FORMAT_FORMAT_COLOR__SHIFT 4 +#define NVC0_3D_IMAGE_FORMAT_FORMAT_ZETA__MASK 0x0001f000 +#define NVC0_3D_IMAGE_FORMAT_FORMAT_ZETA__SHIFT 12 -#define NVC0_3D_MACRO_TEP_SELECT 0x00003830 +#define NVC0_3D_IMAGE_TILE_MODE(i0) (0x00002714 + 0x20*(i0)) -#define NVC0_3D_MACRO_DRAW_ARRAYS_INDIRECT 0x00003838 -#define NVC0_3D_MACRO_DRAW_ELEMENTS_INDIRECT 0x00003840 +#define NVC0_3D_TFB_VARYING_LOCS(i0, i1) (0x00002800 + 0x80*(i0) + 0x4*(i1)) +#define NVC0_3D_TFB_VARYING_LOCS__ESIZE 0x00000004 +#define NVC0_3D_TFB_VARYING_LOCS__LEN 0x00000020 + +#define NVC0_3D_MP_PM_SET(i0) (0x0000335c + 0x4*(i0)) +#define NVC0_3D_MP_PM_SET__ESIZE 0x00000004 +#define NVC0_3D_MP_PM_SET__LEN 0x00000008 + +#define NVC0_3D_MP_PM_SIGSEL(i0) (0x0000337c + 0x4*(i0)) +#define NVC0_3D_MP_PM_SIGSEL__ESIZE 0x00000004 +#define NVC0_3D_MP_PM_SIGSEL__LEN 0x00000008 + +#define NVE4_3D_MP_PM_A_SIGSEL(i0) (0x0000337c + 0x4*(i0)) +#define NVE4_3D_MP_PM_A_SIGSEL__ESIZE 0x00000004 +#define NVE4_3D_MP_PM_A_SIGSEL__LEN 0x00000004 +#define NVE4_3D_MP_PM_A_SIGSEL_NONE 0x00000000 +#define NVE4_3D_MP_PM_A_SIGSEL_USER 0x00000001 +#define NVE4_3D_MP_PM_A_SIGSEL_LAUNCH 0x00000003 +#define NVE4_3D_MP_PM_A_SIGSEL_EXEC 0x00000004 +#define NVE4_3D_MP_PM_A_SIGSEL_ISSUE 0x00000005 +#define NVE4_3D_MP_PM_A_SIGSEL_LDST 0x0000001b +#define NVE4_3D_MP_PM_A_SIGSEL_BRANCH 0x0000001c + +#define NVE4_3D_MP_PM_B_SIGSEL(i0) (0x0000338c + 0x4*(i0)) +#define NVE4_3D_MP_PM_B_SIGSEL__ESIZE 0x00000004 +#define NVE4_3D_MP_PM_B_SIGSEL__LEN 0x00000004 +#define NVE4_3D_MP_PM_B_SIGSEL_NONE 0x00000000 +#define NVE4_3D_MP_PM_B_SIGSEL_WARP 0x00000002 +#define NVE4_3D_MP_PM_B_SIGSEL_REPLAY 0x00000008 +#define NVE4_3D_MP_PM_B_SIGSEL_TRANSACTION 0x0000000e +#define NVE4_3D_MP_PM_B_SIGSEL_L1 0x00000010 +#define NVE4_3D_MP_PM_B_SIGSEL_MEM 0x00000011 + +#define NVC0_3D_MP_PM_SRCSEL(i0) (0x0000339c + 0x4*(i0)) +#define NVC0_3D_MP_PM_SRCSEL__ESIZE 0x00000004 +#define NVC0_3D_MP_PM_SRCSEL__LEN 0x00000008 +#define NVC0_3D_MP_PM_SRCSEL_GRP0__MASK 0x00000007 +#define NVC0_3D_MP_PM_SRCSEL_GRP0__SHIFT 0 +#define NVC0_3D_MP_PM_SRCSEL_SIG0__MASK 0x00000070 +#define NVC0_3D_MP_PM_SRCSEL_SIG0__SHIFT 4 +#define NVC0_3D_MP_PM_SRCSEL_GRP1__MASK 0x00000700 +#define NVC0_3D_MP_PM_SRCSEL_GRP1__SHIFT 8 +#define NVC0_3D_MP_PM_SRCSEL_SIG1__MASK 0x00007000 +#define NVC0_3D_MP_PM_SRCSEL_SIG1__SHIFT 12 +#define NVC0_3D_MP_PM_SRCSEL_GRP2__MASK 0x00070000 +#define NVC0_3D_MP_PM_SRCSEL_GRP2__SHIFT 16 +#define NVC0_3D_MP_PM_SRCSEL_SIG2__MASK 0x00700000 +#define NVC0_3D_MP_PM_SRCSEL_SIG2__SHIFT 20 +#define NVC0_3D_MP_PM_SRCSEL_GRP3__MASK 0x07000000 +#define NVC0_3D_MP_PM_SRCSEL_GRP3__SHIFT 24 +#define NVC0_3D_MP_PM_SRCSEL_SIG3__MASK 0x70000000 +#define NVC0_3D_MP_PM_SRCSEL_SIG3__SHIFT 28 + +#define NVE4_3D_MP_PM_SRCSEL(i0) (0x0000339c + 0x4*(i0)) +#define NVE4_3D_MP_PM_SRCSEL__ESIZE 0x00000004 +#define NVE4_3D_MP_PM_SRCSEL__LEN 0x00000008 +#define NVE4_3D_MP_PM_SRCSEL_GRP0__MASK 0x00000003 +#define NVE4_3D_MP_PM_SRCSEL_GRP0__SHIFT 0 +#define NVE4_3D_MP_PM_SRCSEL_SIG0__MASK 0x0000001c +#define NVE4_3D_MP_PM_SRCSEL_SIG0__SHIFT 2 +#define NVE4_3D_MP_PM_SRCSEL_GRP1__MASK 0x00000060 +#define NVE4_3D_MP_PM_SRCSEL_GRP1__SHIFT 5 +#define NVE4_3D_MP_PM_SRCSEL_SIG1__MASK 0x00000380 +#define NVE4_3D_MP_PM_SRCSEL_SIG1__SHIFT 7 +#define NVE4_3D_MP_PM_SRCSEL_GRP2__MASK 0x00000c00 +#define NVE4_3D_MP_PM_SRCSEL_GRP2__SHIFT 10 +#define NVE4_3D_MP_PM_SRCSEL_SIG2__MASK 0x00007000 +#define NVE4_3D_MP_PM_SRCSEL_SIG2__SHIFT 12 +#define NVE4_3D_MP_PM_SRCSEL_GRP3__MASK 0x00018000 +#define NVE4_3D_MP_PM_SRCSEL_GRP3__SHIFT 15 +#define NVE4_3D_MP_PM_SRCSEL_SIG3__MASK 0x000e0000 +#define NVE4_3D_MP_PM_SRCSEL_SIG3__SHIFT 17 +#define NVE4_3D_MP_PM_SRCSEL_GRP4__MASK 0x00300000 +#define NVE4_3D_MP_PM_SRCSEL_GRP4__SHIFT 20 +#define NVE4_3D_MP_PM_SRCSEL_SIG4__MASK 0x01c00000 +#define NVE4_3D_MP_PM_SRCSEL_SIG4__SHIFT 22 +#define NVE4_3D_MP_PM_SRCSEL_GRP5__MASK 0x06000000 +#define NVE4_3D_MP_PM_SRCSEL_GRP5__SHIFT 25 +#define NVE4_3D_MP_PM_SRCSEL_SIG5__MASK 0x38000000 +#define NVE4_3D_MP_PM_SRCSEL_SIG5__SHIFT 27 + +#define NVC0_3D_MP_PM_OP(i0) (0x000033bc + 0x4*(i0)) +#define NVC0_3D_MP_PM_OP__ESIZE 0x00000004 +#define NVC0_3D_MP_PM_OP__LEN 0x00000008 +#define NVC0_3D_MP_PM_OP_MODE__MASK 0x00000001 +#define NVC0_3D_MP_PM_OP_MODE__SHIFT 0 +#define NVC0_3D_MP_PM_OP_MODE_LOGOP 0x00000000 +#define NVC0_3D_MP_PM_OP_MODE_LOGOP_PULSE 0x00000001 +#define NVC0_3D_MP_PM_OP_FUNC__MASK 0x000ffff0 +#define NVC0_3D_MP_PM_OP_FUNC__SHIFT 4 + +#define NVE4_3D_MP_PM_FUNC(i0) (0x000033bc + 0x4*(i0)) +#define NVE4_3D_MP_PM_FUNC__ESIZE 0x00000004 +#define NVE4_3D_MP_PM_FUNC__LEN 0x00000008 +#define NVE4_3D_MP_PM_FUNC_MODE__MASK 0x0000000f +#define NVE4_3D_MP_PM_FUNC_MODE__SHIFT 0 +#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP 0x00000000 +#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_PULSE 0x00000001 +#define NVE4_3D_MP_PM_FUNC_MODE_B6 0x00000002 +#define NVE4_3D_MP_PM_FUNC_MODE_UNK3 0x00000003 +#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_B6 0x00000004 +#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_B6_PULSE 0x00000005 +#define NVE4_3D_MP_PM_FUNC_MODE_UNK6 0x00000006 +#define NVE4_3D_MP_PM_FUNC_MODE_UNK7 0x00000007 +#define NVE4_3D_MP_PM_FUNC_MODE_UNK8 0x00000008 +#define NVE4_3D_MP_PM_FUNC_FUNC__MASK 0x000ffff0 +#define NVE4_3D_MP_PM_FUNC_FUNC__SHIFT 4 + +#define NVC0_3D_MP_PM_UNK33DC 0x000033dc + +#define NVC0_3D_NVRM_MACRO_VERTEX_ARRAY_SELECT 0x00003820 + +#define NVC0_3D_NVRM_MACRO_BLEND_ENABLES 0x00003858 + +#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT 0x00003868 +#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_POINT 0x00001b00 +#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_LINE 0x00001b01 +#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_FILL 0x00001b02 + +#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK 0x00003870 +#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_POINT 0x00001b00 +#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_LINE 0x00001b01 +#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_FILL 0x00001b02 + +#define NVC0_3D_NVRM_MACRO_GP_SELECT 0x00003878 + +#define NVC0_3D_NVRM_MACRO_TEP_SELECT 0x00003880 #endif /* NVC0_3D_XML */ diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h deleted file mode 100644 index 84b1522..0000000 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef NV_3DDEFS_XML -#define NV_3DDEFS_XML - -/* Autogenerated file, DO NOT EDIT manually! - -This file was generated by the rules-ng-ng headergen tool in this git repository: -http://0x04.net/cgit/index.cgi/rules-ng-ng -git clone git://0x04.net/rules-ng-ng - -The rules-ng-ng source files this header was generated from are: -- nvc0_3d.xml ( 26312 bytes, from 2010-10-08 10:10:01) -- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37) -- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58) -- nv_3ddefs.xml ( 16397 bytes, from 2010-10-08 13:30:38) -- nv_object.xml ( 11249 bytes, from 2010-10-07 15:31:28) -- nvchipsets.xml ( 2824 bytes, from 2010-07-07 13:41:20) -- nv50_defs.xml ( 4482 bytes, from 2010-10-03 13:18:37) - -Copyright (C) 2006-2010 by the following authors: -- Artur Huillet (ahuillet) -- Ben Skeggs (darktama, darktama_) -- B. R. (koala_br) -- Carlos Martin (carlosmn) -- Christoph Bumiller (calim, chrisbmr) -- Dawid Gajownik (gajownik) -- Dmitry Baryshkov -- Dmitry Eremin-Solenikov (lumag) -- EdB (edb_) -- Erik Waling (erikwaling) -- Francisco Jerez (curro, curro_, currojerez) -- imirkin (imirkin) -- jb17bsome (jb17bsome) -- Jeremy Kolb (kjeremy) -- Laurent Carlier (lordheavy) -- Luca Barbieri (lb, lb1) -- Maarten Maathuis (stillunknown) -- Marcin Koƛcielnicki (mwk, koriakin) -- Mark Carey (careym) -- Matthieu Castet (mat-c) -- nvidiaman (nvidiaman) -- Patrice Mandin (pmandin, pmdata) -- Pekka Paalanen (pq, ppaalanen) -- Peter Popov (ironpeter) -- Richard Hughes (hughsient) -- Rudi Cilibrasi (cilibrar) -- Serge Martin -- Simon Raffeiner -- Stephane Loeuillet (leroutier) -- Stephane Marchesin (marcheu) -- sturmflut (sturmflut) -- Sylvain Munaut -- Victor Stinner (haypo) -- Wladmir van der Laan (miathan6) -- Younes Manton (ymanton) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ - - -#define NV50_3D_BLEND_FACTOR_ZERO 0x00004000 -#define NV50_3D_BLEND_FACTOR_ONE 0x00004001 -#define NV50_3D_BLEND_FACTOR_SRC_COLOR 0x00004300 -#define NV50_3D_BLEND_FACTOR_ONE_MINUS_SRC_COLOR 0x00004301 -#define NV50_3D_BLEND_FACTOR_SRC_ALPHA 0x00004302 -#define NV50_3D_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NV50_3D_BLEND_FACTOR_DST_ALPHA 0x00004304 -#define NV50_3D_BLEND_FACTOR_ONE_MINUS_DST_ALPHA 0x00004305 -#define NV50_3D_BLEND_FACTOR_DST_COLOR 0x00004306 -#define NV50_3D_BLEND_FACTOR_ONE_MINUS_DST_COLOR 0x00004307 -#define NV50_3D_BLEND_FACTOR_SRC_ALPHA_SATURATE 0x00004308 -#define NV50_3D_BLEND_FACTOR_CONSTANT_COLOR 0x0000c001 -#define NV50_3D_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NV50_3D_BLEND_FACTOR_CONSTANT_ALPHA 0x0000c003 -#define NV50_3D_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NV50_3D_BLEND_FACTOR_SRC1_COLOR 0x0000c900 -#define NV50_3D_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NV50_3D_BLEND_FACTOR_SRC1_ALPHA 0x0000c902 -#define NV50_3D_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA 0x0000c903 - -#endif /* NV_3DDEFS_XML */ diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_compute.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_compute.xml.h index 35e6bfd..502ae36 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_compute.xml.h +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_compute.xml.h @@ -4,18 +4,17 @@ /* Autogenerated file, DO NOT EDIT manually! This file was generated by the rules-ng-ng headergen tool in this git repository: -http://0x04.net/cgit/index.cgi/rules-ng-ng -git clone git://0x04.net/rules-ng-ng +http://github.com/envytools/envytools/ +git clone https://github.com/envytools/envytools.git The rules-ng-ng source files this header was generated from are: -- nvc0_compute.xml ( 11145 bytes, from 2013-04-27 14:00:13) -- copyright.xml ( 6452 bytes, from 2013-02-27 22:13:22) -- nvchipsets.xml ( 3954 bytes, from 2013-04-27 14:00:13) -- nv_object.xml ( 14395 bytes, from 2013-04-27 14:00:13) -- nv_defs.xml ( 4437 bytes, from 2013-02-27 22:13:22) -- nv50_defs.xml ( 16652 bytes, from 2013-06-20 13:45:33) - -Copyright (C) 2006-2013 by the following authors: +- rnndb/graph/gf100_compute.xml ( 11143 bytes, from 2014-09-25 06:32:11) +- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31) +- rnndb/nvchipsets.xml ( 2759 bytes, from 2014-10-05 01:51:02) +- rnndb/fifo/nv_object.xml ( 15326 bytes, from 2014-09-25 06:32:11) +- rnndb/g80_defs.xml ( 18175 bytes, from 2014-09-25 06:32:11) + +Copyright (C) 2006-2014 by the following authors: - Artur Huillet (ahuillet) - Ben Skeggs (darktama, darktama_) - B. R. (koala_br) @@ -27,7 +26,7 @@ Copyright (C) 2006-2013 by the following authors: - EdB (edb_) - Erik Waling (erikwaling) - Francisco Jerez (curro) -- imirkin (imirkin) +- Ilia Mirkin (imirkin) - jb17bsome (jb17bsome) - Jeremy Kolb (kjeremy) - Laurent Carlier (lordheavy) @@ -81,7 +80,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_WARP_CSTACK_SIZE 0x0000020c -#define NVC0_COMPUTE_TEX_LIMITS 0x00000210 +#define NVC0_COMPUTE_TEX_LIMITS 0x00000210 #define NVC0_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2__MASK 0x0000000f #define NVC0_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2__SHIFT 0 #define NVC0_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2__MIN 0x00000000 @@ -105,14 +104,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_BIND_TSC_ACTIVE 0x00000001 #define NVC0_COMPUTE_BIND_TSC_SAMPLER__MASK 0x00000ff0 #define NVC0_COMPUTE_BIND_TSC_SAMPLER__SHIFT 4 -#define NVC0_COMPUTE_BIND_TSC_TSC__MASK 0x01fff000 +#define NVC0_COMPUTE_BIND_TSC_TSC__MASK 0x01fff000 #define NVC0_COMPUTE_BIND_TSC_TSC__SHIFT 12 #define NVC0_COMPUTE_BIND_TIC 0x0000022c #define NVC0_COMPUTE_BIND_TIC_ACTIVE 0x00000001 #define NVC0_COMPUTE_BIND_TIC_TEXTURE__MASK 0x000001fe #define NVC0_COMPUTE_BIND_TIC_TEXTURE__SHIFT 1 -#define NVC0_COMPUTE_BIND_TIC_TIC__MASK 0x7ffffe00 +#define NVC0_COMPUTE_BIND_TIC_TIC__MASK 0x7ffffe00 #define NVC0_COMPUTE_BIND_TIC_TIC__SHIFT 9 #define NVC0_COMPUTE_BIND_TSC2 0x00000230 @@ -129,10 +128,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_BIND_TIC2_TIC__MASK 0x7ffffe00 #define NVC0_COMPUTE_BIND_TIC2_TIC__SHIFT 9 -#define NVC0_COMPUTE_GRIDDIM_YX 0x00000238 -#define NVC0_COMPUTE_GRIDDIM_YX_X__MASK 0x0000ffff +#define NVC0_COMPUTE_GRIDDIM_YX 0x00000238 +#define NVC0_COMPUTE_GRIDDIM_YX_X__MASK 0x0000ffff #define NVC0_COMPUTE_GRIDDIM_YX_X__SHIFT 0 -#define NVC0_COMPUTE_GRIDDIM_YX_Y__MASK 0xffff0000 +#define NVC0_COMPUTE_GRIDDIM_YX_Y__MASK 0xffff0000 #define NVC0_COMPUTE_GRIDDIM_YX_Y__SHIFT 16 #define NVC0_COMPUTE_GRIDDIM_Z 0x0000023c @@ -148,7 +147,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_UNK028C 0x0000028c #define NVC0_COMPUTE_COMPUTE_BEGIN 0x0000029c -#define NVC0_COMPUTE_COMPUTE_BEGIN_UNK0 0x00000001 +#define NVC0_COMPUTE_COMPUTE_BEGIN_UNK0 0x00000001 #define NVC0_COMPUTE_UNK02A0 0x000002a0 @@ -174,7 +173,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_UNK0360 0x00000360 #define NVC0_COMPUTE_UNK0360_UNK0 0x00000001 -#define NVC0_COMPUTE_UNK0360_UNK8__MASK 0x00000300 +#define NVC0_COMPUTE_UNK0360_UNK8__MASK 0x00000300 #define NVC0_COMPUTE_UNK0360_UNK8__SHIFT 8 #define NVC8_COMPUTE_UNK0360_UNK10__MASK 0x00000c00 #define NVC8_COMPUTE_UNK0360_UNK10__SHIFT 10 @@ -182,9 +181,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_LAUNCH 0x00000368 #define NVC0_COMPUTE_UNK036C 0x0000036c -#define NVC0_COMPUTE_UNK036C_UNK0__MASK 0x00000003 +#define NVC0_COMPUTE_UNK036C_UNK0__MASK 0x00000003 #define NVC0_COMPUTE_UNK036C_UNK0__SHIFT 0 -#define NVC8_COMPUTE_UNK036C_UNK2__MASK 0x0000000c +#define NVC8_COMPUTE_UNK036C_UNK2__MASK 0x0000000c #define NVC8_COMPUTE_UNK036C_UNK2__SHIFT 2 #define NVC0_COMPUTE_BLOCKDIM_YX 0x000003ac @@ -193,7 +192,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_BLOCKDIM_YX_Y__MASK 0xffff0000 #define NVC0_COMPUTE_BLOCKDIM_YX_Y__SHIFT 16 -#define NVC0_COMPUTE_BLOCKDIM_Z 0x000003b0 +#define NVC0_COMPUTE_BLOCKDIM_Z 0x000003b0 #define NVC0_COMPUTE_CP_START_ID 0x000003b4 @@ -203,7 +202,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_MP_LIMIT 0x00000758 -#define NVC0_COMPUTE_LOCAL_BASE 0x0000077c +#define NVC0_COMPUTE_LOCAL_BASE 0x0000077c #define NVC0_COMPUTE_GRIDID 0x00000780 @@ -233,19 +232,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_UNK10F4_UNK4 0x00000010 #define NVC0_COMPUTE_UNK10F4_UNK8 0x00000100 -#define NVC0_COMPUTE_LINKED_TSC 0x00001234 +#define NVC0_COMPUTE_LINKED_TSC 0x00001234 #define NVC0_COMPUTE_UNK1288_TIC_FLUSH 0x00001288 #define NVC0_COMPUTE_UNK12AC 0x000012ac #define NVC0_COMPUTE_TSC_FLUSH 0x00001330 -#define NVC0_COMPUTE_TSC_FLUSH_SPECIFIC 0x00000001 +#define NVC0_COMPUTE_TSC_FLUSH_SPECIFIC 0x00000001 #define NVC0_COMPUTE_TSC_FLUSH_ENTRY__MASK 0x03fffff0 #define NVC0_COMPUTE_TSC_FLUSH_ENTRY__SHIFT 4 #define NVC0_COMPUTE_TIC_FLUSH 0x00001334 -#define NVC0_COMPUTE_TIC_FLUSH_SPECIFIC 0x00000001 +#define NVC0_COMPUTE_TIC_FLUSH_SPECIFIC 0x00000001 #define NVC0_COMPUTE_TIC_FLUSH_ENTRY__MASK 0x03fffff0 #define NVC0_COMPUTE_TIC_FLUSH_ENTRY__SHIFT 4 @@ -253,7 +252,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_TEX_CACHE_CTL_UNK0__MASK 0x00000007 #define NVC0_COMPUTE_TEX_CACHE_CTL_UNK0__SHIFT 0 #define NVC0_COMPUTE_TEX_CACHE_CTL_ENTRY__MASK 0x03fffff0 -#define NVC0_COMPUTE_TEX_CACHE_CTL_ENTRY__SHIFT 4 +#define NVC0_COMPUTE_TEX_CACHE_CTL_ENTRY__SHIFT 4 #define NVC0_COMPUTE_UNK1354 0x00001354 @@ -288,7 +287,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_TEX_MISC 0x00001664 #define NVC0_COMPUTE_TEX_MISC_UNK 0x00000001 -#define NVC0_COMPUTE_TEX_MISC_SEAMLESS_CUBE_MAP 0x00000002 +#define NVC0_COMPUTE_TEX_MISC_SEAMLESS_CUBE_MAP 0x00000002 #define NVC0_COMPUTE_UNK1690 0x00001690 #define NVC0_COMPUTE_UNK1690_ALWAYS_DERIV 0x00000001 @@ -300,9 +299,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_CB_BIND_INDEX__SHIFT 8 #define NVC0_COMPUTE_FLUSH 0x00001698 -#define NVC0_COMPUTE_FLUSH_CODE 0x00000001 +#define NVC0_COMPUTE_FLUSH_CODE 0x00000001 #define NVC0_COMPUTE_FLUSH_GLOBAL 0x00000010 -#define NVC0_COMPUTE_FLUSH_UNK8 0x00000100 +#define NVC0_COMPUTE_FLUSH_UNK8 0x00000100 #define NVC0_COMPUTE_FLUSH_CB 0x00001000 #define NVC0_COMPUTE_UNK1930 0x00001930 @@ -315,7 +314,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_UNK1A2C__ESIZE 0x00000004 #define NVC0_COMPUTE_UNK1A2C__LEN 0x00000005 -#define NVC0_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00 +#define NVC0_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00 #define NVC0_COMPUTE_QUERY_ADDRESS_LOW 0x00001b04 @@ -343,7 +342,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_IMAGE(i0) (0x00002700 + 0x20*(i0)) #define NVC0_COMPUTE_IMAGE__ESIZE 0x00000020 -#define NVC0_COMPUTE_IMAGE__LEN 0x00000008 +#define NVC0_COMPUTE_IMAGE__LEN 0x00000008 #define NVC0_COMPUTE_IMAGE_ADDRESS_HIGH(i0) (0x00002700 + 0x20*(i0)) @@ -353,8 +352,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_COMPUTE_IMAGE_HEIGHT(i0) (0x0000270c + 0x20*(i0)) #define NVC0_COMPUTE_IMAGE_HEIGHT_HEIGHT__MASK 0x0000ffff -#define NVC0_COMPUTE_IMAGE_HEIGHT_HEIGHT__SHIFT 0 -#define NVC0_COMPUTE_IMAGE_HEIGHT_UNK16 0x00010000 +#define NVC0_COMPUTE_IMAGE_HEIGHT_HEIGHT__SHIFT 0 +#define NVC0_COMPUTE_IMAGE_HEIGHT_UNK16 0x00010000 #define NVC0_COMPUTE_IMAGE_HEIGHT_LINEAR 0x00100000 #define NVC0_COMPUTE_IMAGE_FORMAT(i0) (0x00002710 + 0x20*(i0)) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h index 63e73ae..ef251f3 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h @@ -21,11 +21,12 @@ #include "nouveau_context.h" #include "nouveau_debug.h" -#include "nvc0/nvc0_3ddefs.xml.h" +#include "nv50/nv50_3ddefs.xml.h" #include "nvc0/nvc0_3d.xml.h" -#include "nvc0/nvc0_2d.xml.h" +#include "nv50/nv50_2d.xml.h" #include "nvc0/nvc0_m2mf.xml.h" #include "nvc0/nve4_p2mf.xml.h" +#include "nvc0/nvc0_macros.h" /* NOTE: must keep NVC0_NEW_...PROG in consecutive bits in this order */ #define NVC0_NEW_BLEND (1 << 0) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h index 3bf628d..6c0c51e 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h @@ -4,17 +4,17 @@ /* Autogenerated file, DO NOT EDIT manually! This file was generated by the rules-ng-ng headergen tool in this git repository: -http://0x04.net/cgit/index.cgi/rules-ng-ng -git clone git://0x04.net/rules-ng-ng +http://github.com/envytools/envytools/ +git clone https://github.com/envytools/envytools.git The rules-ng-ng source files this header was generated from are: -- nvc0_m2mf.xml ( 2227 bytes, from 2010-10-16 16:10:29) -- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37) -- nv_object.xml ( 11379 bytes, from 2010-10-16 11:43:24) -- nvchipsets.xml ( 2907 bytes, from 2010-10-15 16:28:21) -- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58) +- rnndb/graph/gf100_m2mf.xml ( 2783 bytes, from 2014-09-25 06:32:11) +- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31) +- rnndb/fifo/nv_object.xml ( 15326 bytes, from 2014-09-25 06:32:11) +- rnndb/nvchipsets.xml ( 2759 bytes, from 2014-10-05 01:51:02) +- rnndb/g80_defs.xml ( 18175 bytes, from 2014-09-25 06:32:11) -Copyright (C) 2006-2010 by the following authors: +Copyright (C) 2006-2014 by the following authors: - Artur Huillet (ahuillet) - Ben Skeggs (darktama, darktama_) - B. R. (koala_br) @@ -25,8 +25,8 @@ Copyright (C) 2006-2010 by the following authors: - Dmitry Eremin-Solenikov (lumag) - EdB (edb_) - Erik Waling (erikwaling) -- Francisco Jerez (curro, curro_, currojerez) -- imirkin (imirkin) +- Francisco Jerez (curro) +- Ilia Mirkin (imirkin) - jb17bsome (jb17bsome) - Jeremy Kolb (kjeremy) - Laurent Carlier (lordheavy) @@ -92,25 +92,41 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_M2MF_TILING_DEPTH_OUT 0x0000022c -#define NVC0_M2MF_TILING_POSITION_OUT_Z 0x00000230 +#define NVC0_M2MF_TILING_POSITION_OUT_Z 0x00000230 #define NVC0_M2MF_OFFSET_OUT_HIGH 0x00000238 #define NVC0_M2MF_OFFSET_OUT_LOW 0x0000023c +#define NVC0_M2MF_UNK0240(i0) (0x00000240 + 0x4*(i0)) +#define NVC0_M2MF_UNK0240__ESIZE 0x00000004 +#define NVC0_M2MF_UNK0240__LEN 0x0000000f + +#define NVC0_M2MF_FIRMWARE(i0) (0x0000027c + 0x4*(i0)) +#define NVC0_M2MF_FIRMWARE__ESIZE 0x00000004 +#define NVC0_M2MF_FIRMWARE__LEN 0x00000020 + +#define NVC0_M2MF_UNK02FC 0x000002fc + #define NVC0_M2MF_EXEC 0x00000300 #define NVC0_M2MF_EXEC_PUSH 0x00000001 #define NVC0_M2MF_EXEC_LINEAR_IN 0x00000010 #define NVC0_M2MF_EXEC_LINEAR_OUT 0x00000100 -#define NVC0_M2MF_EXEC_NOTIFY 0x00002000 -#define NVC0_M2MF_EXEC_INC__MASK 0x00f00000 -#define NVC0_M2MF_EXEC_INC__SHIFT 20 +#define NVC0_M2MF_EXEC_QUERY__MASK 0x00003000 +#define NVC0_M2MF_EXEC_QUERY__SHIFT 12 +#define NVC0_M2MF_EXEC_QUERY_NO 0x00000000 +#define NVC0_M2MF_EXEC_QUERY_UNK1 0x00001000 +#define NVC0_M2MF_EXEC_QUERY_YES 0x00002000 +#define NVC0_M2MF_EXEC_BUF_NOTIFY 0x00030000 +#define NVC0_M2MF_EXEC_QUERY_SHORT 0x00100000 #define NVC0_M2MF_DATA 0x00000304 +#define NVC0_M2MF_UNK308 0x00000308 + #define NVC0_M2MF_OFFSET_IN_HIGH 0x0000030c -#define NVC0_M2MF_OFFSET_IN_LOW 0x00000310 +#define NVC0_M2MF_OFFSET_IN_LOW 0x00000310 #define NVC0_M2MF_PITCH_IN 0x00000314 @@ -120,19 +136,30 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_M2MF_LINE_COUNT 0x00000320 -#define NVC0_M2MF_NOTIFY_ADDRESS_HIGH 0x0000032c +#define NVC0_M2MF_QUERY_ADDRESS_HIGH 0x0000032c + +#define NVC0_M2MF_QUERY_ADDRESS_LOW 0x00000330 + +#define NVC0_M2MF_QUERY_SEQUENCE 0x00000334 + +#define NVC0_M2MF_COND_ADDRESS_HIGH 0x00000338 -#define NVC0_M2MF_NOTIFY_ADDRESS_LOW 0x00000330 +#define NVC0_M2MF_COND_ADDRESS_LOW 0x0000033c -#define NVC0_M2MF_NOTIFY 0x00000334 +#define NVC0_M2MF_COND_MODE 0x00000340 +#define NVC0_M2MF_COND_MODE_NEVER 0x00000000 +#define NVC0_M2MF_COND_MODE_ALWAYS 0x00000001 +#define NVC0_M2MF_COND_MODE_RES_NON_ZERO 0x00000002 +#define NVC0_M2MF_COND_MODE_EQUAL 0x00000003 +#define NVC0_M2MF_COND_MODE_NOT_EQUAL 0x00000004 #define NVC0_M2MF_TILING_POSITION_IN_X 0x00000344 #define NVC0_M2MF_TILING_POSITION_IN_Y 0x00000348 -#define NVC0_M2MF_TILING_POSITION_OUT_X 0x0000034c +#define NVC0_M2MF_TILING_POSITION_OUT_X 0x0000034c -#define NVC0_M2MF_TILING_POSITION_OUT_Y 0x00000350 +#define NVC0_M2MF_TILING_POSITION_OUT_Y 0x00000350 #endif /* NVC0_M2MF_XML */ diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_macros.h b/src/gallium/drivers/nouveau/nvc0/nvc0_macros.h new file mode 100644 index 0000000..bf2798a --- /dev/null +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_macros.h @@ -0,0 +1,32 @@ +#ifndef __NVC0_MACROS_H__ +#define __NVC0_MACROS_H__ + +/** + * The list of macros defined in the 3d object + */ + +#define NVC0_3D_MACRO_VERTEX_ARRAY_PER_INSTANCE 0x00003800 + +#define NVC0_3D_MACRO_VERTEX_ARRAY_SELECT 0x00003808 + +#define NVC0_3D_MACRO_BLEND_ENABLES 0x00003810 + +#define NVC0_3D_MACRO_POLYGON_MODE_FRONT 0x00003818 +#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_POINT 0x00001b00 +#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_LINE 0x00001b01 +#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_FILL 0x00001b02 + +#define NVC0_3D_MACRO_POLYGON_MODE_BACK 0x00003820 +#define NVC0_3D_MACRO_POLYGON_MODE_BACK_POINT 0x00001b00 +#define NVC0_3D_MACRO_POLYGON_MODE_BACK_LINE 0x00001b01 +#define NVC0_3D_MACRO_POLYGON_MODE_BACK_FILL 0x00001b02 + +#define NVC0_3D_MACRO_GP_SELECT 0x00003828 + +#define NVC0_3D_MACRO_TEP_SELECT 0x00003830 + +#define NVC0_3D_MACRO_DRAW_ARRAYS_INDIRECT 0x00003838 + +#define NVC0_3D_MACRO_DRAW_ELEMENTS_INDIRECT 0x00003840 + +#endif /* __NVC0_MACROS_H__ */ diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c index 5032c7f..5069e5a 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -696,10 +696,10 @@ nvc0_screen_create(struct nouveau_device *dev) BEGIN_NVC0(push, SUBC_2D(NV01_SUBCHAN_OBJECT), 1); PUSH_DATA (push, screen->eng2d->oclass); - BEGIN_NVC0(push, NVC0_2D(SINGLE_GPC), 1); + BEGIN_NVC0(push, SUBC_2D(NVC0_2D_SINGLE_GPC), 1); PUSH_DATA (push, 0); BEGIN_NVC0(push, NVC0_2D(OPERATION), 1); - PUSH_DATA (push, NVC0_2D_OPERATION_SRCCOPY); + PUSH_DATA (push, NV50_2D_OPERATION_SRCCOPY); BEGIN_NVC0(push, NVC0_2D(CLIP_ENABLE), 1); PUSH_DATA (push, 0); BEGIN_NVC0(push, NVC0_2D(COLOR_KEY_ENABLE), 1); @@ -709,7 +709,7 @@ nvc0_screen_create(struct nouveau_device *dev) BEGIN_NVC0(push, SUBC_2D(0x0888), 1); PUSH_DATA (push, 1); BEGIN_NVC0(push, NVC0_2D(COND_MODE), 1); - PUSH_DATA (push, NVC0_2D_COND_MODE_ALWAYS); + PUSH_DATA (push, NV50_2D_COND_MODE_ALWAYS); BEGIN_NVC0(push, SUBC_2D(NVC0_GRAPH_NOTIFY_ADDRESS_HIGH), 2); PUSH_DATAh(push, screen->fence.bo->offset + 16); diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c index 728618f..b6666ca 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c @@ -53,7 +53,7 @@ nvc0_colormask(unsigned mask) } #define NVC0_BLEND_FACTOR_CASE(a, b) \ - case PIPE_BLENDFACTOR_##a: return NV50_3D_BLEND_FACTOR_##b + case PIPE_BLENDFACTOR_##a: return NV50_BLEND_FACTOR_##b static INLINE uint32_t nvc0_blend_fac(unsigned factor) @@ -79,7 +79,7 @@ nvc0_blend_fac(unsigned factor) NVC0_BLEND_FACTOR_CASE(INV_SRC1_COLOR, ONE_MINUS_SRC1_COLOR); NVC0_BLEND_FACTOR_CASE(INV_SRC1_ALPHA, ONE_MINUS_SRC1_ALPHA); default: - return NV50_3D_BLEND_FACTOR_ZERO; + return NV50_BLEND_FACTOR_ZERO; } } @@ -248,7 +248,7 @@ nvc0_rasterizer_state_create(struct pipe_context *pipe, } - SB_IMMED_3D(so, VP_POINT_SIZE_EN, cso->point_size_per_vertex); + SB_IMMED_3D(so, VP_POINT_SIZE, cso->point_size_per_vertex); if (!cso->point_size_per_vertex) { SB_BEGIN_3D(so, POINT_SIZE, 1); SB_DATA (so, fui(cso->point_size)); diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c index 980fd12..4130d36 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c @@ -88,7 +88,7 @@ nvc0_2d_texture_set(struct nouveau_pushbuf *push, boolean dst, struct nouveau_bo *bo = mt->base.bo; uint32_t width, height, depth; uint32_t format; - uint32_t mthd = dst ? NVC0_2D_DST_FORMAT : NVC0_2D_SRC_FORMAT; + uint32_t mthd = dst ? NV50_2D_DST_FORMAT : NV50_2D_SRC_FORMAT; uint32_t offset = mt->level[level].offset; format = nvc0_2d_format(pformat, dst, dst_src_pformat_equal); @@ -1214,10 +1214,10 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info) boolean b; mode = nv50_blit_get_filter(info) ? - NVC0_2D_BLIT_CONTROL_FILTER_BILINEAR : - NVC0_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE; + NV50_2D_BLIT_CONTROL_FILTER_BILINEAR : + NV50_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE; mode |= (src->base.base.nr_samples > dst->base.base.nr_samples) ? - NVC0_2D_BLIT_CONTROL_ORIGIN_CORNER : NVC0_2D_BLIT_CONTROL_ORIGIN_CENTER; + NV50_2D_BLIT_CONTROL_ORIGIN_CORNER : NV50_2D_BLIT_CONTROL_ORIGIN_CENTER; du_dx = ((int64_t)info->src.box.width << 32) / info->dst.box.width; dv_dy = ((int64_t)info->src.box.height << 32) / info->dst.box.height; @@ -1241,13 +1241,13 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info) if (mask != 0xffffffff) { IMMED_NVC0(push, NVC0_2D(ROP), 0xca); /* DPSDxax */ IMMED_NVC0(push, NVC0_2D(PATTERN_COLOR_FORMAT), - NVC0_2D_PATTERN_COLOR_FORMAT_32BPP); - BEGIN_NVC0(push, NVC0_2D(PATTERN_COLOR(0)), 4); + NV50_2D_PATTERN_COLOR_FORMAT_A8R8G8B8); + BEGIN_NVC0(push, NVC0_2D(PATTERN_BITMAP_COLOR(0)), 4); PUSH_DATA (push, 0x00000000); PUSH_DATA (push, mask); PUSH_DATA (push, 0xffffffff); PUSH_DATA (push, 0xffffffff); - IMMED_NVC0(push, NVC0_2D(OPERATION), NVC0_2D_OPERATION_ROP); + IMMED_NVC0(push, NVC0_2D(OPERATION), NV50_2D_OPERATION_ROP); } else if (info->src.format != info->dst.format) { if (info->src.format == PIPE_FORMAT_R8_UNORM || @@ -1259,13 +1259,13 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info) mask = 0xffff0000; /* also makes condition for OPERATION reset true */ BEGIN_NVC0(push, NVC0_2D(BETA4), 2); PUSH_DATA (push, mask); - PUSH_DATA (push, NVC0_2D_OPERATION_SRCCOPY_PREMULT); + PUSH_DATA (push, NV50_2D_OPERATION_SRCCOPY_PREMULT); } else if (info->src.format == PIPE_FORMAT_A8_UNORM) { mask = 0xff000000; BEGIN_NVC0(push, NVC0_2D(BETA4), 2); PUSH_DATA (push, mask); - PUSH_DATA (push, NVC0_2D_OPERATION_SRCCOPY_PREMULT); + PUSH_DATA (push, NV50_2D_OPERATION_SRCCOPY_PREMULT); } } @@ -1361,9 +1361,9 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info) if (info->scissor_enable) IMMED_NVC0(push, NVC0_2D(CLIP_ENABLE), 0); if (mask != 0xffffffff) - IMMED_NVC0(push, NVC0_2D(OPERATION), NVC0_2D_OPERATION_SRCCOPY); + IMMED_NVC0(push, NVC0_2D(OPERATION), NV50_2D_OPERATION_SRCCOPY); if (nvc0->cond_query && info->render_condition_enable) - IMMED_NVC0(push, NVC0_2D(COND_MODE), NVC0_2D_COND_MODE_ALWAYS); + IMMED_NVC0(push, NVC0_2D(COND_MODE), NV50_2D_COND_MODE_ALWAYS); } static void diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c b/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c index db6b603..457f27c 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c @@ -318,13 +318,13 @@ nve4_validate_tic(struct nvc0_context *nvc0, unsigned s) tic->id = nvc0_screen_tic_alloc(nvc0->screen, tic); PUSH_SPACE(push, 16); - BEGIN_NVC0(push, NVE4_P2MF(DST_ADDRESS_HIGH), 2); + BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_DST_ADDRESS_HIGH), 2); PUSH_DATAh(push, txc->offset + (tic->id * 32)); PUSH_DATA (push, txc->offset + (tic->id * 32)); - BEGIN_NVC0(push, NVE4_P2MF(LINE_LENGTH_IN), 2); + BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_LINE_LENGTH_IN), 2); PUSH_DATA (push, 32); PUSH_DATA (push, 1); - BEGIN_1IC0(push, NVE4_P2MF(EXEC), 9); + BEGIN_1IC0(push, NVE4_P2MF(UPLOAD_EXEC), 9); PUSH_DATA (push, 0x1001); PUSH_DATAp(push, &tic->tic[0], 8); @@ -437,13 +437,13 @@ nve4_validate_tsc(struct nvc0_context *nvc0, int s) tsc->id = nvc0_screen_tsc_alloc(nvc0->screen, tsc); PUSH_SPACE(push, 16); - BEGIN_NVC0(push, NVE4_P2MF(DST_ADDRESS_HIGH), 2); + BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_DST_ADDRESS_HIGH), 2); PUSH_DATAh(push, txc->offset + 65536 + (tsc->id * 32)); PUSH_DATA (push, txc->offset + 65536 + (tsc->id * 32)); - BEGIN_NVC0(push, NVE4_P2MF(LINE_LENGTH_IN), 2); + BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_LINE_LENGTH_IN), 2); PUSH_DATA (push, 32); PUSH_DATA (push, 1); - BEGIN_1IC0(push, NVE4_P2MF(EXEC), 9); + BEGIN_1IC0(push, NVE4_P2MF(UPLOAD_EXEC), 9); PUSH_DATA (push, 0x1001); PUSH_DATAp(push, &tsc->tsc[0], 8); diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c b/src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c index 82f1ffc..45c6f7c 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c @@ -243,14 +243,14 @@ nve4_p2mf_push_linear(struct nouveau_context *nv, nr = MIN2(count, nr - 8); nr = MIN2(nr, (NV04_PFIFO_MAX_PACKET_LEN - 1)); - BEGIN_NVC0(push, NVE4_P2MF(DST_ADDRESS_HIGH), 2); + BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_DST_ADDRESS_HIGH), 2); PUSH_DATAh(push, dst->offset + offset); PUSH_DATA (push, dst->offset + offset); - BEGIN_NVC0(push, NVE4_P2MF(LINE_LENGTH_IN), 2); + BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_LINE_LENGTH_IN), 2); PUSH_DATA (push, MIN2(size, nr * 4)); PUSH_DATA (push, 1); /* must not be interrupted (trap on QUERY fence, 0x50 works however) */ - BEGIN_1IC0(push, NVE4_P2MF(EXEC), nr + 1); + BEGIN_1IC0(push, NVE4_P2MF(UPLOAD_EXEC), nr + 1); PUSH_DATA (push, 0x1001); PUSH_DATAp(push, src, nr); @@ -290,7 +290,7 @@ nvc0_m2mf_copy_linear(struct nouveau_context *nv, PUSH_DATA (push, bytes); PUSH_DATA (push, 1); BEGIN_NVC0(push, NVC0_M2MF(EXEC), 1); - PUSH_DATA (push, (1 << NVC0_M2MF_EXEC_INC__SHIFT) | + PUSH_DATA (push, NVC0_M2MF_EXEC_QUERY_SHORT | NVC0_M2MF_EXEC_LINEAR_IN | NVC0_M2MF_EXEC_LINEAR_OUT); srcoff += bytes; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c index 250d495..657b8c0 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c @@ -577,7 +577,7 @@ nvc0_draw_arrays(struct nvc0_context *nvc0, /* TODO: can we deactivate it for the VERTEX_BUFFER_FIRST command ? */ PUSH_SPACE(push, 2); IMMED_NVC0(push, NVC0_3D(VB_ELEMENT_BASE), 0); - IMMED_NVC0(push, NVC0_3D(VERTEX_ID), 0); + IMMED_NVC0(push, NVC0_3D(VERTEX_ID_BASE), 0); nvc0->state.index_bias = 0; } @@ -709,7 +709,7 @@ nvc0_draw_elements(struct nvc0_context *nvc0, boolean shorten, PUSH_SPACE(push, 4); BEGIN_NVC0(push, NVC0_3D(VB_ELEMENT_BASE), 1); PUSH_DATA (push, index_bias); - BEGIN_NVC0(push, NVC0_3D(VERTEX_ID), 1); + BEGIN_NVC0(push, NVC0_3D(VERTEX_ID_BASE), 1); PUSH_DATA (push, index_bias); nvc0->state.index_bias = index_bias; } @@ -821,7 +821,7 @@ nvc0_draw_indirect(struct nvc0_context *nvc0, const struct pipe_draw_info *info) if (nvc0->state.index_bias) { /* index_bias is implied 0 if !info->indexed (really ?) */ IMMED_NVC0(push, NVC0_3D(VB_ELEMENT_BASE), 0); - IMMED_NVC0(push, NVC0_3D(VERTEX_ID), 0); + IMMED_NVC0(push, NVC0_3D(VERTEX_ID_BASE), 0); nvc0->state.index_bias = 0; } size = 4 * 4; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h b/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h index a83b31d..725e889 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h @@ -60,13 +60,15 @@ PUSH_REFN(struct nouveau_pushbuf *push, struct nouveau_bo *bo, uint32_t flags) #define NVE4_P2MF(n) SUBC_P2MF(NVE4_P2MF_##n) #define SUBC_2D(m) 3, (m) -#define NVC0_2D(n) SUBC_2D(NVC0_2D_##n) +#define NVC0_2D(n) SUBC_2D(NV50_2D_##n) #define SUBC_COPY(m) 4, (m) #define NVE4_COPY(m) SUBC_COPY(NVE4_COPY_##n) #define SUBC_SW(m) 7, (m) +#define NVC0_3D_SERIALIZE NV50_GRAPH_SERIALIZE + static INLINE uint32_t NVC0_FIFO_PKHDR_SQ(int subc, int mthd, unsigned size) { diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.xml.h b/src/gallium/drivers/nouveau/nvc0/nve4_compute.xml.h index e971fc1..41e0cc2 100644 --- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.xml.h +++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.xml.h @@ -4,19 +4,18 @@ /* Autogenerated file, DO NOT EDIT manually! This file was generated by the rules-ng-ng headergen tool in this git repository: -http://0x04.net/cgit/index.cgi/rules-ng-ng -git clone git://0x04.net/rules-ng-ng +http://github.com/envytools/envytools/ +git clone https://github.com/envytools/envytools.git The rules-ng-ng source files this header was generated from are: -- nve4_compute.xml ( 10168 bytes, from 2013-06-04 13:57:02) -- copyright.xml ( 6452 bytes, from 2012-04-16 22:51:01) -- nvchipsets.xml ( 3954 bytes, from 2013-06-04 13:57:02) -- nv_object.xml ( 14395 bytes, from 2013-06-04 13:57:02) -- nv_defs.xml ( 4437 bytes, from 2012-04-16 22:51:01) -- nv50_defs.xml ( 16877 bytes, from 2013-07-17 09:10:01) -- nve4_p2mf.xml ( 2373 bytes, from 2013-06-04 13:57:02) - -Copyright (C) 2006-2013 by the following authors: +- rnndb/graph/gk104_compute.xml ( 10182 bytes, from 2014-09-25 06:32:11) +- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31) +- rnndb/nvchipsets.xml ( 2759 bytes, from 2014-10-05 01:51:02) +- rnndb/fifo/nv_object.xml ( 15326 bytes, from 2014-09-25 06:32:11) +- rnndb/g80_defs.xml ( 18175 bytes, from 2014-09-25 06:32:11) +- rnndb/graph/gk104_p2mf.xml ( 2376 bytes, from 2014-09-25 06:32:11) + +Copyright (C) 2006-2014 by the following authors: - Artur Huillet (ahuillet) - Ben Skeggs (darktama, darktama_) - B. R. (koala_br) @@ -28,7 +27,7 @@ Copyright (C) 2006-2013 by the following authors: - EdB (edb_) - Erik Waling (erikwaling) - Francisco Jerez (curro) -- imirkin (imirkin) +- Ilia Mirkin (imirkin) - jb17bsome (jb17bsome) - Jeremy Kolb (kjeremy) - Laurent Carlier (lordheavy) @@ -106,7 +105,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_UPLOAD_DST_Y 0x000001ac #define NVE4_COMPUTE_UPLOAD_EXEC 0x000001b0 -#define NVE4_COMPUTE_UPLOAD_EXEC_LINEAR 0x00000001 +#define NVE4_COMPUTE_UPLOAD_EXEC_LINEAR 0x00000001 #define NVE4_COMPUTE_UPLOAD_EXEC_UNK1__MASK 0x0000007e #define NVE4_COMPUTE_UPLOAD_EXEC_UNK1__SHIFT 1 #define NVE4_COMPUTE_UPLOAD_EXEC_BUF_NOTIFY 0x00000300 @@ -142,9 +141,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_UNK244_TIC_FLUSH 0x00000244 #define NVE4_COMPUTE_UNK0248 0x00000248 -#define NVE4_COMPUTE_UNK0248_UNK0__MASK 0x0000003f +#define NVE4_COMPUTE_UNK0248_UNK0__MASK 0x0000003f #define NVE4_COMPUTE_UNK0248_UNK0__SHIFT 0 -#define NVE4_COMPUTE_UNK0248_UNK8__MASK 0x00ffff00 +#define NVE4_COMPUTE_UNK0248_UNK8__MASK 0x00ffff00 #define NVE4_COMPUTE_UNK0248_UNK8__SHIFT 8 #define NVE4_COMPUTE_UNK0274 0x00000274 @@ -186,7 +185,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_FIRMWARE__ESIZE 0x00000004 #define NVE4_COMPUTE_FIRMWARE__LEN 0x00000020 -#define NVE4_COMPUTE_LOCAL_BASE 0x0000077c +#define NVE4_COMPUTE_LOCAL_BASE 0x0000077c #define NVE4_COMPUTE_TEMP_ADDRESS_HIGH 0x00000790 @@ -207,19 +206,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_UNK1288_TIC_FLUSH 0x00001288 #define NVE4_COMPUTE_TSC_FLUSH 0x00001330 -#define NVE4_COMPUTE_TSC_FLUSH_SPECIFIC 0x00000001 +#define NVE4_COMPUTE_TSC_FLUSH_SPECIFIC 0x00000001 #define NVE4_COMPUTE_TSC_FLUSH_ENTRY__MASK 0x03fffff0 #define NVE4_COMPUTE_TSC_FLUSH_ENTRY__SHIFT 4 #define NVE4_COMPUTE_TIC_FLUSH 0x00001334 -#define NVE4_COMPUTE_TIC_FLUSH_SPECIFIC 0x00000001 +#define NVE4_COMPUTE_TIC_FLUSH_SPECIFIC 0x00000001 #define NVE4_COMPUTE_TIC_FLUSH_ENTRY__MASK 0x03fffff0 #define NVE4_COMPUTE_TIC_FLUSH_ENTRY__SHIFT 4 #define NVE4_COMPUTE_TEX_CACHE_CTL 0x00001338 -#define NVE4_COMPUTE_TEX_CACHE_CTL_UNK0 0x00000001 +#define NVE4_COMPUTE_TEX_CACHE_CTL_UNK0 0x00000001 #define NVE4_COMPUTE_TEX_CACHE_CTL_ENTRY__MASK 0x03fffff0 -#define NVE4_COMPUTE_TEX_CACHE_CTL_ENTRY__SHIFT 4 +#define NVE4_COMPUTE_TEX_CACHE_CTL_ENTRY__SHIFT 4 #define NVE4_COMPUTE_UNK1424_TSC_FLUSH 0x00001424 @@ -253,7 +252,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_UNK1690 0x00001690 #define NVE4_COMPUTE_FLUSH 0x00001698 -#define NVE4_COMPUTE_FLUSH_CODE 0x00000001 +#define NVE4_COMPUTE_FLUSH_CODE 0x00000001 #define NVE4_COMPUTE_FLUSH_GLOBAL 0x00000010 #define NVE4_COMPUTE_FLUSH_CB 0x00001000 @@ -265,7 +264,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_UNK1A2C__ESIZE 0x00000004 #define NVE4_COMPUTE_UNK1A2C__LEN 0x00000005 -#define NVE4_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00 +#define NVE4_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00 #define NVE4_COMPUTE_QUERY_ADDRESS_LOW 0x00001b04 @@ -287,7 +286,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_MP_PM_SET__ESIZE 0x00000004 #define NVE4_COMPUTE_MP_PM_SET__LEN 0x00000008 -#define NVE4_COMPUTE_MP_PM_A_SIGSEL(i0) (0x0000337c + 0x4*(i0)) +#define NVE4_COMPUTE_MP_PM_A_SIGSEL(i0) (0x0000337c + 0x4*(i0)) #define NVE4_COMPUTE_MP_PM_A_SIGSEL__ESIZE 0x00000004 #define NVE4_COMPUTE_MP_PM_A_SIGSEL__LEN 0x00000004 #define NVE4_COMPUTE_MP_PM_A_SIGSEL_NONE 0x00000000 @@ -298,15 +297,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_MP_PM_A_SIGSEL_LDST 0x0000001b #define NVE4_COMPUTE_MP_PM_A_SIGSEL_BRANCH 0x0000001c -#define NVE4_COMPUTE_MP_PM_B_SIGSEL(i0) (0x0000338c + 0x4*(i0)) +#define NVE4_COMPUTE_MP_PM_B_SIGSEL(i0) (0x0000338c + 0x4*(i0)) #define NVE4_COMPUTE_MP_PM_B_SIGSEL__ESIZE 0x00000004 #define NVE4_COMPUTE_MP_PM_B_SIGSEL__LEN 0x00000004 #define NVE4_COMPUTE_MP_PM_B_SIGSEL_NONE 0x00000000 #define NVE4_COMPUTE_MP_PM_B_SIGSEL_WARP 0x00000002 #define NVE4_COMPUTE_MP_PM_B_SIGSEL_REPLAY 0x00000008 -#define NVE4_COMPUTE_MP_PM_B_SIGSEL_TRANSACTION 0x0000000e +#define NVE4_COMPUTE_MP_PM_B_SIGSEL_TRANSACTION 0x0000000e #define NVE4_COMPUTE_MP_PM_B_SIGSEL_L1 0x00000010 -#define NVE4_COMPUTE_MP_PM_B_SIGSEL_MEM 0x00000011 +#define NVE4_COMPUTE_MP_PM_B_SIGSEL_MEM 0x00000011 #define NVE4_COMPUTE_MP_PM_SRCSEL(i0) (0x0000339c + 0x4*(i0)) #define NVE4_COMPUTE_MP_PM_SRCSEL__ESIZE 0x00000004 @@ -343,7 +342,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_MP_PM_FUNC_MODE__SHIFT 0 #define NVE4_COMPUTE_MP_PM_FUNC_MODE_LOGOP 0x00000000 #define NVE4_COMPUTE_MP_PM_FUNC_MODE_LOGOP_PULSE 0x00000001 -#define NVE4_COMPUTE_MP_PM_FUNC_MODE_B6 0x00000002 +#define NVE4_COMPUTE_MP_PM_FUNC_MODE_B6 0x00000002 #define NVE4_COMPUTE_MP_PM_FUNC_MODE_UNK3 0x00000003 #define NVE4_COMPUTE_MP_PM_FUNC_MODE_LOGOP_B6 0x00000004 #define NVE4_COMPUTE_MP_PM_FUNC_MODE_LOGOP_B6_PULSE 0x00000005 @@ -357,7 +356,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_LAUNCH_DESC__SIZE 0x00000100 #define NVE4_COMPUTE_LAUNCH_DESC_6 0x00000018 -#define NVE4_COMPUTE_LAUNCH_DESC_6_NOTIFY__MASK 0x00000c00 +#define NVE4_COMPUTE_LAUNCH_DESC_6_NOTIFY__MASK 0x00000c00 #define NVE4_COMPUTE_LAUNCH_DESC_6_NOTIFY__SHIFT 10 #define NVE4_COMPUTE_LAUNCH_DESC_PROG_START 0x00000020 @@ -374,7 +373,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_LAUNCH_DESC_17 0x00000044 #define NVE4_COMPUTE_LAUNCH_DESC_17_SHARED_ALLOC__MASK 0x0000ffff -#define NVE4_COMPUTE_LAUNCH_DESC_17_SHARED_ALLOC__SHIFT 0 +#define NVE4_COMPUTE_LAUNCH_DESC_17_SHARED_ALLOC__SHIFT 0 #define NVE4_COMPUTE_LAUNCH_DESC_18 0x00000048 #define NVE4_COMPUTE_LAUNCH_DESC_18_BLOCKDIM_X__MASK 0xffff0000 @@ -406,13 +405,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1__LEN 0x00000008 #define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_ADDRESS_HIGH__MASK 0x000000ff #define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_ADDRESS_HIGH__SHIFT 0 -#define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_SIZE__MASK 0xffff8000 +#define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_SIZE__MASK 0xffff8000 #define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_SIZE__SHIFT 15 #define NVE4_COMPUTE_LAUNCH_DESC_45 0x000000b4 #define NVE4_COMPUTE_LAUNCH_DESC_45_LOCAL_POS_ALLOC__MASK 0x000fffff #define NVE4_COMPUTE_LAUNCH_DESC_45_LOCAL_POS_ALLOC__SHIFT 0 -#define NVE4_COMPUTE_LAUNCH_DESC_45_BARRIER_ALLOC__MASK 0xf8000000 +#define NVE4_COMPUTE_LAUNCH_DESC_45_BARRIER_ALLOC__MASK 0xf8000000 #define NVE4_COMPUTE_LAUNCH_DESC_45_BARRIER_ALLOC__SHIFT 27 #define NVE4_COMPUTE_LAUNCH_DESC_46 0x000000b8 diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h b/src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h index 68a742f..3852ab8 100644 --- a/src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h +++ b/src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h @@ -1,21 +1,23 @@ -#ifndef RNNDB_NVE4_P2MF_XML -#define RNNDB_NVE4_P2MF_XML +#ifndef NVE4_P2MF_XML +#define NVE4_P2MF_XML /* Autogenerated file, DO NOT EDIT manually! This file was generated by the rules-ng-ng headergen tool in this git repository: -http://0x04.net/cgit/index.cgi/rules-ng-ng -git clone git://0x04.net/rules-ng-ng +http://github.com/envytools/envytools/ +git clone https://github.com/envytools/envytools.git The rules-ng-ng source files this header was generated from are: -- rnndb/nve4_p2mf.xml ( 1400 bytes, from 2012-04-14 21:29:11) -- ./rnndb/copyright.xml ( 6452 bytes, from 2011-08-11 18:25:12) -- ./rnndb/nv_object.xml ( 12736 bytes, from 2012-04-14 21:30:24) -- ./rnndb/nvchipsets.xml ( 3701 bytes, from 2012-03-22 20:40:59) -- ./rnndb/nv_defs.xml ( 4437 bytes, from 2011-08-11 18:25:12) -- ./rnndb/nv50_defs.xml ( 5468 bytes, from 2011-08-11 18:25:12) - -Copyright (C) 2006-2012 by the following authors: +- rnndb/graph/gf100_3d.xml ( 60037 bytes, from 2014-12-31 02:40:43) +- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31) +- rnndb/nv_defs.xml ( 4399 bytes, from 2013-09-07 03:32:45) +- rnndb/graph/nv_3ddefs.xml ( 16390 bytes, from 2014-09-25 06:32:11) +- rnndb/fifo/nv_object.xml ( 15326 bytes, from 2014-09-25 06:32:11) +- rnndb/nvchipsets.xml ( 2759 bytes, from 2014-10-05 01:51:02) +- rnndb/g80_defs.xml ( 18175 bytes, from 2014-09-25 06:32:11) +- rnndb/graph/gk104_p2mf.xml ( 2376 bytes, from 2014-09-25 06:32:11) + +Copyright (C) 2006-2014 by the following authors: - Artur Huillet (ahuillet) - Ben Skeggs (darktama, darktama_) - B. R. (koala_br) @@ -27,7 +29,7 @@ Copyright (C) 2006-2012 by the following authors: - EdB (edb_) - Erik Waling (erikwaling) - Francisco Jerez (curro) -- imirkin (imirkin) +- Ilia Mirkin (imirkin) - jb17bsome (jb17bsome) - Jeremy Kolb (kjeremy) - Laurent Carlier (lordheavy) @@ -75,33 +77,75 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -#define NVE4_P2MF_LINE_LENGTH_IN 0x00000180 -#define NVE4_P2MF_LINE_COUNT 0x00000184 +#define NVE4_P2MF_UNK0144 0x00000144 -#define NVE4_P2MF_DST_ADDRESS_HIGH 0x00000188 +#define NVE4_P2MF_UPLOAD 0x00000000 -#define NVE4_P2MF_DST_ADDRESS_LOW 0x0000018c +#define NVE4_P2MF_UPLOAD_LINE_LENGTH_IN 0x00000180 -#define NVE4_P2MF_DST_TILE_MODE 0x00000194 +#define NVE4_P2MF_UPLOAD_LINE_COUNT 0x00000184 -#define NVE4_P2MF_DST_PITCH 0x00000198 +#define NVE4_P2MF_UPLOAD_DST_ADDRESS_HIGH 0x00000188 -#define NVE4_P2MF_DST_HEIGHT 0x0000019c +#define NVE4_P2MF_UPLOAD_DST_ADDRESS_LOW 0x0000018c -#define NVE4_P2MF_DST_DEPTH 0x000001a0 +#define NVE4_P2MF_UPLOAD_DST_PITCH 0x00000190 -#define NVE4_P2MF_DST_Z 0x000001a4 +#define NVE4_P2MF_UPLOAD_DST_TILE_MODE 0x00000194 -#define NVE4_P2MF_DST_X 0x000001a8 +#define NVE4_P2MF_UPLOAD_DST_WIDTH 0x00000198 -#define NVE4_P2MF_DST_Y 0x000001ac +#define NVE4_P2MF_UPLOAD_DST_HEIGHT 0x0000019c -#define NVE4_P2MF_EXEC 0x000001b0 -#define NVE4_P2MF_EXEC_LINEAR 0x00000001 -#define NVE4_P2MF_EXEC_UNK12 0x00001000 +#define NVE4_P2MF_UPLOAD_DST_DEPTH 0x000001a0 -#define NVE4_P2MF_DATA 0x000001b4 +#define NVE4_P2MF_UPLOAD_DST_Z 0x000001a4 +#define NVE4_P2MF_UPLOAD_DST_X 0x000001a8 -#endif /* RNNDB_NVE4_P2MF_XML */ +#define NVE4_P2MF_UPLOAD_DST_Y 0x000001ac + +#define NVE4_P2MF_UPLOAD_EXEC 0x000001b0 +#define NVE4_P2MF_UPLOAD_EXEC_LINEAR 0x00000001 +#define NVE4_P2MF_UPLOAD_EXEC_UNK1__MASK 0x0000007e +#define NVE4_P2MF_UPLOAD_EXEC_UNK1__SHIFT 1 +#define NVE4_P2MF_UPLOAD_EXEC_BUF_NOTIFY 0x00000300 +#define NVE4_P2MF_UPLOAD_EXEC_UNK12__MASK 0x0000f000 +#define NVE4_P2MF_UPLOAD_EXEC_UNK12__SHIFT 12 + +#define NVE4_P2MF_UPLOAD_DATA 0x000001b4 + +#define NVE4_P2MF_UPLOAD_QUERY_ADDRESS_HIGH 0x000001dc + +#define NVE4_P2MF_UPLOAD_QUERY_ADDRESS_LOW 0x000001e0 + +#define NVE4_P2MF_UPLOAD_QUERY_SEQUENCE 0x000001e4 + +#define NVE4_P2MF_UPLOAD_UNK01F0 0x000001f0 + +#define NVE4_P2MF_UPLOAD_UNK01F4 0x000001f4 + +#define NVE4_P2MF_UPLOAD_UNK01F8 0x000001f8 + +#define NVE4_P2MF_UPLOAD_UNK01FC 0x000001fc + +#define NVE4_P2MF_FIRMWARE(i0) (0x00000200 + 0x4*(i0)) +#define NVE4_P2MF_FIRMWARE__ESIZE 0x00000004 +#define NVE4_P2MF_FIRMWARE__LEN 0x00000020 + +#define NVE4_P2MF_COND_ADDRESS_HIGH 0x00001550 + +#define NVE4_P2MF_COND_ADDRESS_LOW 0x00001554 + +#define NVE4_P2MF_COND_MODE 0x00001558 +#define NVE4_P2MF_COND_MODE_NEVER 0x00000000 +#define NVE4_P2MF_COND_MODE_ALWAYS 0x00000001 +#define NVE4_P2MF_COND_MODE_RES_NON_ZERO 0x00000002 +#define NVE4_P2MF_COND_MODE_EQUAL 0x00000003 +#define NVE4_P2MF_COND_MODE_NOT_EQUAL 0x00000004 + +#define NVE4_P2MF_UNK1944 0x00001944 + + +#endif /* NVE4_P2MF_XML */ -- cgit v1.1