From: Christoph Bumiller Date: Thu, 2 Sep 2010 16:31:49 +0000 (+0200) Subject: Merge remote branch 'origin/master' into nv50-compiler X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=222d2f2ac2c7d93cbc0643082c78278ad2c8cfce;hp=-c Merge remote branch 'origin/master' into nv50-compiler Conflicts: src/gallium/drivers/nv50/nv50_program.c --- 222d2f2ac2c7d93cbc0643082c78278ad2c8cfce diff --combined src/gallium/drivers/nouveau/nouveau_class.h index f44979e562c,20941f379c7..d9f35b4c4b9 --- a/src/gallium/drivers/nouveau/nouveau_class.h +++ b/src/gallium/drivers/nouveau/nouveau_class.h @@@ -735,45 -735,6 +735,45 @@@ WITH THE SOFTWARE OR THE USE OR OTHER D #define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x0000023c +#define NVC0_MEMORY_TO_MEMORY_FORMAT 0x00009039 + +#define NVC0_MEMORY_TO_MEMORY_FORMAT_NOP 0x00000100 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_SERIALIZE 0x00000110 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN 0x00000204 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN 0x00000208 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN 0x0000020c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN 0x00000210 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z 0x00000214 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT 0x00000220 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT 0x00000224 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT 0x00000228 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT 0x0000022c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z 0x00000230 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x00000238 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_LOW 0x0000023c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC 0x00000300 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_PUSH (1 << 0) +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_LINEAR_IN (1 << 4) +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_LINEAR_OUT (1 << 8) +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_NOTIFY (1 << 13) +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_INC_SHIFT 20 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_INC_MASK 0x00f00000 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_DATA 0x00000304 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH 0x0000030c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_LOW 0x00000310 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_PITCH_IN 0x00000314 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT 0x00000318 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN 0x0000031c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT 0x00000320 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY_ADDRESS_HIGH 0x0000032c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY_ADDRESS_LOW 0x00000330 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY 0x00000334 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X 0x00000344 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y 0x00000348 +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X 0x0000034c +#define NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y 0x00000350 + + #define NV01_MEMORY_LOCAL_BANKED 0x0000003d @@@ -4546,7 -4507,6 +4546,7 @@@ #define NV20TCL_VTXFMT_TYPE_SHIFT 0 #define NV20TCL_VTXFMT_TYPE_MASK 0x0000000f #define NV20TCL_VTXFMT_TYPE_FLOAT 0x00000002 +#define NV20TCL_VTXFMT_TYPE_HALF 0x00000003 #define NV20TCL_VTXFMT_TYPE_UBYTE 0x00000004 #define NV20TCL_VTXFMT_TYPE_USHORT 0x00000005 #define NV20TCL_VTXFMT_SIZE_SHIFT 4 @@@ -6189,6 -6149,8 +6189,8 @@@ #define NV34TCL_FP_REG_CONTROL_UNK1_MASK 0xffff0000 #define NV34TCL_FP_REG_CONTROL_UNK0_SHIFT 0 #define NV34TCL_FP_REG_CONTROL_UNK0_MASK 0x0000ffff + #define NV34TCL_FLATSHADE_FIRST 0x00001454 + #define NV34TCL_EDGEFLAG_ENABLE 0x0000145c #define NV34TCL_VP_CLIP_PLANES_ENABLE 0x00001478 #define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE0 (1 << 1) #define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE1 (1 << 5) @@@ -6222,10 -6184,13 +6224,13 @@@ #define NV34TCL_VTXFMT__SIZE 0x00000010 #define NV34TCL_VTXFMT_TYPE_SHIFT 0 #define NV34TCL_VTXFMT_TYPE_MASK 0x0000000f - #define NV34TCL_VTXFMT_TYPE_FLOAT 0x00000002 - #define NV34TCL_VTXFMT_TYPE_HALF 0x00000003 - #define NV34TCL_VTXFMT_TYPE_UBYTE 0x00000004 - #define NV34TCL_VTXFMT_TYPE_USHORT 0x00000005 + #define NV34TCL_VTXFMT_TYPE_16_SNORM 0x00000001 + #define NV34TCL_VTXFMT_TYPE_32_FLOAT 0x00000002 + #define NV34TCL_VTXFMT_TYPE_16_FLOAT 0x00000003 + #define NV34TCL_VTXFMT_TYPE_8_UNORM 0x00000004 + #define NV34TCL_VTXFMT_TYPE_16_SSCALED 0x00000005 + #define NV34TCL_VTXFMT_TYPE_11_11_10_SNORM 0x00000006 + #define NV34TCL_VTXFMT_TYPE_8_USCALED 0x00000007 #define NV34TCL_VTXFMT_SIZE_SHIFT 4 #define NV34TCL_VTXFMT_SIZE_MASK 0x000000f0 #define NV34TCL_VTXFMT_STRIDE_SHIFT 8 @@@ -6368,6 -6333,10 +6373,10 @@@ #define NV34TCL_TX_FORMAT_FORMAT_R8G8B8_RECT 0x00001e00 #define NV34TCL_TX_FORMAT_FORMAT_A8L8_RECT 0x00002000 #define NV34TCL_TX_FORMAT_FORMAT_DSDT8 0x00002800 + #define NV34TCL_TX_FORMAT_FORMAT_Z24 0x2a00 + #define NV34TCL_TX_FORMAT_FORMAT_Z24_RECT 0x2b00 /* XXX: guess! */ + #define NV34TCL_TX_FORMAT_FORMAT_Z16 0x2c00 + #define NV34TCL_TX_FORMAT_FORMAT_Z16_RECT 0x2d00 /* XXX: guess! */ #define NV34TCL_TX_FORMAT_FORMAT_HILO16 0x00003300 #define NV34TCL_TX_FORMAT_FORMAT_HILO16_RECT 0x00003600 #define NV34TCL_TX_FORMAT_FORMAT_HILO8 0x00004400 @@@ -7030,7 -6999,6 +7039,7 @@@ #define NV40TCL_VTXFMT_TYPE_SHIFT 0 #define NV40TCL_VTXFMT_TYPE_MASK 0x0000000f #define NV40TCL_VTXFMT_TYPE_FLOAT 0x00000002 +#define NV40TCL_VTXFMT_TYPE_HALF 0x00000003 #define NV40TCL_VTXFMT_TYPE_UBYTE 0x00000004 #define NV40TCL_VTXFMT_TYPE_USHORT 0x00000005 #define NV40TCL_VTXFMT_SIZE_SHIFT 4 @@@ -7740,7 -7708,7 +7749,7 @@@ #define NV50TCL_DMA_TIC 0x000001a0 #define NV50TCL_DMA_TEXTURE 0x000001a4 #define NV50TCL_DMA_STRMOUT 0x000001a8 -#define NV50TCL_DMA_UNK01AC 0x000001ac +#define NV50TCL_DMA_CLIPID 0x000001ac #define NV50TCL_DMA_COLOR(x) (0x000001c0+((x)*4)) #define NV50TCL_DMA_COLOR__SIZE 0x00000008 #define NV50TCL_RT_ADDRESS_HIGH(x) (0x00000200+((x)*32)) @@@ -7957,20 -7925,8 +7966,20 @@@ #define NV50TCL_DEPTH_RANGE_FAR__SIZE 0x00000010 #define NV50TCL_VIEWPORT_CLIP_HORIZ(x) (0x00000d00+((x)*8)) #define NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008 +#define NV50TCL_VIEWPORT_CLIP_HORIZ_MIN_SHIFT 0 +#define NV50TCL_VIEWPORT_CLIP_HORIZ_MIN_MASK 0x0000ffff +#define NV50TCL_VIEWPORT_CLIP_HORIZ_MAX_SHIFT 16 +#define NV50TCL_VIEWPORT_CLIP_HORIZ_MAX_MASK 0xffff0000 #define NV50TCL_VIEWPORT_CLIP_VERT(x) (0x00000d04+((x)*8)) #define NV50TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008 +#define NV50TCL_VIEWPORT_CLIP_VERT_MIN_SHIFT 0 +#define NV50TCL_VIEWPORT_CLIP_VERT_MIN_MASK 0x0000ffff +#define NV50TCL_VIEWPORT_CLIP_VERT_MAX_SHIFT 16 +#define NV50TCL_VIEWPORT_CLIP_VERT_MAX_MASK 0xffff0000 +#define NV50TCL_CLIPID_REGION_HORIZ(x) (0x00000d40+((x)*8)) +#define NV50TCL_CLIPID_REGION_HORIZ__SIZE 0x00000004 +#define NV50TCL_CLIPID_REGION_VERT(x) (0x00000d44+((x)*8)) +#define NV50TCL_CLIPID_REGION_VERT__SIZE 0x00000004 #define NV50TCL_VERTEX_BUFFER_FIRST 0x00000d74 #define NV50TCL_VERTEX_BUFFER_COUNT 0x00000d78 #define NV50TCL_CLEAR_COLOR(x) (0x00000d80+((x)*4)) @@@ -8028,16 -7984,14 +8037,16 @@@ #define NV50TCL_GP_ADDRESS_LOW 0x00000f74 #define NV50TCL_VP_ADDRESS_HIGH 0x00000f7c #define NV50TCL_VP_ADDRESS_LOW 0x00000f80 -#define NV50TCL_UNK0F84_ADDRESS_HIGH 0x00000f84 -#define NV50TCL_UNK0F84_ADDRESS_LOW 0x00000f88 +#define NV50TCL_VERTEX_RUNOUT_HIGH 0x00000f84 +#define NV50TCL_VERTEX_RUNOUT_LOW 0x00000f88 #define NV50TCL_DEPTH_BOUNDS(x) (0x00000f9c+((x)*4)) #define NV50TCL_DEPTH_BOUNDS__SIZE 0x00000002 #define NV50TCL_FP_ADDRESS_HIGH 0x00000fa4 #define NV50TCL_FP_ADDRESS_LOW 0x00000fa8 #define NV50TCL_MSAA_MASK(x) (0x00000fbc+((x)*4)) #define NV50TCL_MSAA_MASK__SIZE 0x00000004 +#define NV50TCL_CLIPID_ADDRESS_HIGH 0x00000fcc +#define NV50TCL_CLIPID_ADDRESS_LOW 0x00000fd0 #define NV50TCL_ZETA_ADDRESS_HIGH 0x00000fe0 #define NV50TCL_ZETA_ADDRESS_LOW 0x00000fe4 #define NV50TCL_ZETA_FORMAT 0x00000fe8 @@@ -8167,45 -8121,37 +8176,45 @@@ #define NV50TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a #define NV50TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b #define NV50TCL_BLEND_FUNC_SRC_RGB 0x00001344 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00000000 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE 0x00000001 -#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00000300 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00000301 -#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00000302 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00000303 -#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00000304 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00000305 -#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00000306 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00000307 -#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00000308 -#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x00008001 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002 -#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x00008003 -#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00004000 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE 0x00004001 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00004300 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00004301 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00004302 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00004304 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00004305 +#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00004306 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00004307 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00004308 +#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x0000c001 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x0000c003 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC1_COLOR 0x0000c900 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC1_ALPHA 0x0000c902 +#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 #define NV50TCL_BLEND_FUNC_DST_RGB 0x00001348 -#define NV50TCL_BLEND_FUNC_DST_RGB_ZERO 0x00000000 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE 0x00000001 -#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00000300 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00000301 -#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00000302 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00000303 -#define NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00000304 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00000305 -#define NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00000306 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00000307 -#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00000308 -#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x00008001 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002 -#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x00008003 -#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004 +#define NV50TCL_BLEND_FUNC_DST_RGB_ZERO 0x00004000 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE 0x00004001 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00004300 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00004301 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00004302 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00004304 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00004305 +#define NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00004306 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00004307 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00004308 +#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x0000c001 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x0000c003 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC1_COLOR 0x0000c900 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NV50TCL_BLEND_FUNC_DST_RGB_SRC1_ALPHA 0x0000c902 +#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 #define NV50TCL_BLEND_EQUATION_ALPHA 0x0000134c #define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006 #define NV50TCL_BLEND_EQUATION_ALPHA_MIN 0x00008007 @@@ -8213,45 -8159,37 +8222,45 @@@ #define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x0000800a #define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b #define NV50TCL_BLEND_FUNC_SRC_ALPHA 0x00001350 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00000000 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00000001 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x00000300 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00000301 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x00000302 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00000303 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x00000304 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00000305 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x00000306 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00000307 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00000308 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x00008001 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x00008002 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x00008003 -#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x00008004 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00004000 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00004001 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x00004300 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x00004302 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x00004304 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x00004306 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00004308 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x0000c001 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x0000c003 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC1_COLOR 0x0000c900 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC1_ALPHA 0x0000c902 +#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 #define NV50TCL_BLEND_FUNC_DST_ALPHA 0x00001358 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00000000 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00000001 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x00000300 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x00000301 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x00000302 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x00000303 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x00000304 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x00000305 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x00000306 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x00000307 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x00000308 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x00008001 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x00008002 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x00008003 -#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x00008004 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00004000 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00004001 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x00004300 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x00004302 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x00004304 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x00004306 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x00004308 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x0000c001 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x0000c003 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC1_COLOR 0x0000c900 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC1_ALPHA 0x0000c902 +#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 #define NV50TCL_BLEND_ENABLE(x) (0x00001360+((x)*4)) #define NV50TCL_BLEND_ENABLE__SIZE 0x00000008 #define NV50TCL_STENCIL_FRONT_ENABLE 0x00001380 @@@ -8310,7 -8248,6 +8319,7 @@@ #define NV50TCL_FP_START_ID 0x00001414 #define NV50TCL_GP_VERTEX_OUTPUT_COUNT 0x00001420 #define NV50TCL_VB_ELEMENT_BASE 0x00001434 +#define NV50TCL_INSTANCE_BASE 0x00001438 #define NV50TCL_CODE_CB_FLUSH 0x00001440 #define NV50TCL_BIND_TSC(x) (0x00001444+((x)*8)) #define NV50TCL_BIND_TSC__SIZE 0x00000003 @@@ -8328,7 -8265,6 +8337,7 @@@ #define NV50TCL_BIND_TIC_TIC_MASK 0x7ffffe00 #define NV50TCL_STRMOUT_MAP(x) (0x00001480+((x)*4)) #define NV50TCL_STRMOUT_MAP__SIZE 0x00000020 +#define NV50TCL_CLIPID_HEIGHT 0x00001504 #define NV50TCL_VP_CLIP_DISTANCE_ENABLE 0x00001510 #define NV50TCL_VP_CLIP_DISTANCE_ENABLE_0 (1 << 0) #define NV50TCL_VP_CLIP_DISTANCE_ENABLE_1 (1 << 1) @@@ -8413,14 -8349,7 +8422,14 @@@ #define NV50TCL_GP_BUILTIN_RESULT_EN 0x000015cc #define NV50TCL_GP_BUILTIN_RESULT_EN_VPORT_IDX (1 << 0) #define NV50TCL_GP_BUILTIN_RESULT_EN_LAYER_IDX (1 << 16) -#define NV50TCL_MULTISAMPLE_SAMPLES_LOG2 0x000015d0 +#define NV50TCL_MULTISAMPLE_MODE 0x000015d0 +#define NV50TCL_MULTISAMPLE_MODE_1X 0x00000000 +#define NV50TCL_MULTISAMPLE_MODE_2XMS 0x00000001 +#define NV50TCL_MULTISAMPLE_MODE_4XMS 0x00000002 +#define NV50TCL_MULTISAMPLE_MODE_8XMS 0x00000004 +#define NV50TCL_MULTISAMPLE_MODE_4XMS_4XCS 0x00000008 +#define NV50TCL_MULTISAMPLE_MODE_4XMS_12XCS 0x00000009 +#define NV50TCL_MULTISAMPLE_MODE_8XMS_8XCS 0x0000000a #define NV50TCL_VERTEX_BEGIN 0x000015dc #define NV50TCL_VERTEX_BEGIN_POINTS 0x00000000 #define NV50TCL_VERTEX_BEGIN_LINES 0x00000001 @@@ -8436,7 -8365,6 +8445,7 @@@ #define NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY 0x0000000b #define NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY 0x0000000c #define NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY 0x0000000d +#define NV50TCL_VERTEX_BEGIN_PATCHES 0x0000000e #define NV50TCL_VERTEX_END 0x000015e0 #define NV50TCL_EDGEFLAG_ENABLE 0x000015e4 #define NV50TCL_VB_ELEMENT_U32 0x000015e8 @@@ -8450,8 -8378,6 +8459,8 @@@ #define NV50TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff #define NV50TCL_VB_ELEMENT_U16_I1_SHIFT 16 #define NV50TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000 +#define NV50TCL_VERTEX_BASE_HIGH 0x000015f4 +#define NV50TCL_VERTEX_BASE_LOW 0x000015f8 #define NV50TCL_VERTEX_DATA 0x00001640 #define NV50TCL_PRIM_RESTART_ENABLE 0x00001644 #define NV50TCL_PRIM_RESTART_INDEX 0x00001648 @@@ -8837,14 -8763,7 +8846,14 @@@ #define NV50TCL_VIEWPORT_TRANSFORM_EN 0x0000192c #define NV50TCL_VIEW_VOLUME_CLIP_CTRL 0x0000193c #define NV50TCL_VIEWPORT_CLIP_RECTS_EN 0x0000194c +#define NV50TCL_VIEWPORT_CLIP_MODE 0x00001950 +#define NV50TCL_VIEWPORT_CLIP_MODE_INCLUDE 0x00000000 +#define NV50TCL_VIEWPORT_CLIP_MODE_EXCLUDE 0x00000001 +#define NV50TCL_VIEWPORT_CLIP_MODE_UNKNOWN 0x00000002 #define NV50TCL_FP_CTRL_UNK196C 0x0000196c +#define NV50TCL_CLIPID_ENABLE 0x0000197c +#define NV50TCL_CLIPID_WIDTH 0x00001980 +#define NV50TCL_CLIPID_ID 0x00001984 #define NV50TCL_FP_INTERPOLANT_CTRL 0x00001988 #define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_SHIFT 24 #define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_MASK 0xff000000 @@@ -8945,20 -8864,19 +8954,20 @@@ #define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8 0x00c00000 #define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16 0x00d80000 #define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8 0x00e80000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_2_10_10_10 0x01800000 #define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SHIFT 25 -#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_MASK 0x7e000000 -#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT 0x7e000000 -#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM 0x24000000 -#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM 0x12000000 -#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED 0x5a000000 -#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED 0x6c000000 -#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT 0x48000000 -#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SINT 0x36000000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_MASK 0x0e000000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT 0x0e000000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM 0x02000000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM 0x04000000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED 0x0a000000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED 0x0c000000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT 0x08000000 +#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SINT 0x06000000 #define NV50TCL_VERTEX_ARRAY_ATTRIB_BGRA (1 << 31) #define NV50TCL_QUERY_ADDRESS_HIGH 0x00001b00 #define NV50TCL_QUERY_ADDRESS_LOW 0x00001b04 -#define NV50TCL_QUERY_COUNTER 0x00001b08 +#define NV50TCL_QUERY_SEQUENCE 0x00001b08 #define NV50TCL_QUERY_GET 0x00001b0c @@@ -9113,938 -9031,4 +9122,938 @@@ #define NV50_COMPUTE_USER_PARAM__SIZE 0x00000040 +#define NVC0TCL 0x00009097 + +#define NVC0TCL_SEMAPHORE_ADDRESS_HIGH 0x00000010 +#define NVC0TCL_SEMAPHORE_ADDRESS_LOW 0x00000014 +#define NVC0TCL_NOP 0x00000100 +#define NVC0TCL_NOTIFY_ADDRESS_HIGH 0x00000104 +#define NVC0TCL_NOTIFY_ADDRESS_LOW 0x00000108 +#define NVC0TCL_NOTIFY 0x0000010c +#define NVC0TCL_SERIALIZE 0x00000110 +#define NVC0TCL_EARLY_FRAGMENT_TESTS 0x00000210 +#define NVC0TCL_TESS_MODE 0x00000320 +#define NVC0TCL_TESS_MODE_PRIM_SHIFT 0 +#define NVC0TCL_TESS_MODE_PRIM_MASK 0x0000000f +#define NVC0TCL_TESS_MODE_PRIM_ISOLINES 0x00000000 +#define NVC0TCL_TESS_MODE_PRIM_TRIANGLES 0x00000001 +#define NVC0TCL_TESS_MODE_PRIM_QUADS 0x00000002 +#define NVC0TCL_TESS_MODE_SPACING_SHIFT 4 +#define NVC0TCL_TESS_MODE_SPACING_MASK 0x000000f0 +#define NVC0TCL_TESS_MODE_SPACING_EQUAL 0x00000000 +#define NVC0TCL_TESS_MODE_SPACING_FRACTIONAL_ODD 0x00000010 +#define NVC0TCL_TESS_MODE_SPACING_FRACTIONAL_EVEN 0x00000020 +#define NVC0TCL_TESS_MODE_CW (1 << 8) +#define NVC0TCL_TESS_MODE_CONNECTED (1 << 9) +#define NVC0TCL_TESS_LEVEL_OUTER(x) (0x00000324+((x)*4)) +#define NVC0TCL_TESS_LEVEL_OUTER__SIZE 0x00000004 +#define NVC0TCL_TESS_LEVEL_INNER(x) (0x00000334+((x)*4)) +#define NVC0TCL_TESS_LEVEL_INNER__SIZE 0x00000002 +#define NVC0TCL_RASTERIZE_ENABLE 0x0000037c +#define NVC0TCL_TFB_BUFFER_ENABLE(x) (0x00000380+((x)*32)) +#define NVC0TCL_TFB_BUFFER_ENABLE__SIZE 0x00000004 +#define NVC0TCL_TFB_ADDRESS_HIGH(x) (0x00000384+((x)*32)) +#define NVC0TCL_TFB_ADDRESS_HIGH__SIZE 0x00000004 +#define NVC0TCL_TFB_ADDRESS_LOW(x) (0x00000388+((x)*32)) +#define NVC0TCL_TFB_ADDRESS_LOW__SIZE 0x00000004 +#define NVC0TCL_TFB_BUFFER_SIZE(x) (0x0000038c+((x)*32)) +#define NVC0TCL_TFB_BUFFER_SIZE__SIZE 0x00000004 +#define NVC0TCL_TFB_PRIMITIVE_ID(x) (0x00000390+((x)*32)) +#define NVC0TCL_TFB_PRIMITIVE_ID__SIZE 0x00000004 +#define NVC0TCL_TFB_UNK0700(x) (0x00000700+((x)*16)) +#define NVC0TCL_TFB_UNK0700__SIZE 0x00000004 +#define NVC0TCL_TFB_VARYING_COUNT(x) (0x00000704+((x)*16)) +#define NVC0TCL_TFB_VARYING_COUNT__SIZE 0x00000004 +#define NVC0TCL_TFB_BUFFER_STRIDE(x) (0x00000708+((x)*16)) +#define NVC0TCL_TFB_BUFFER_STRIDE__SIZE 0x00000004 +#define NVC0TCL_TFB_ENABLE 0x00000744 +#define NVC0TCL_LOCAL_BASE 0x0000077c +#define NVC0TCL_UNK0790_ADDRESS_HIGH 0x00000790 +#define NVC0TCL_UNK0790_ADDRESS_LOW 0x00000794 +#define NVC0TCL_RT_ADDRESS_HIGH(x) (0x00000800+((x)*32)) +#define NVC0TCL_RT_ADDRESS_HIGH__SIZE 0x00000008 +#define NVC0TCL_RT_ADDRESS_LOW(x) (0x00000804+((x)*32)) +#define NVC0TCL_RT_ADDRESS_LOW__SIZE 0x00000008 +#define NVC0TCL_RT_HORIZ(x) (0x00000808+((x)*32)) +#define NVC0TCL_RT_HORIZ__SIZE 0x00000008 +#define NVC0TCL_RT_VERT(x) (0x0000080c+((x)*32)) +#define NVC0TCL_RT_VERT__SIZE 0x00000008 +#define NVC0TCL_RT_FORMAT(x) (0x00000810+((x)*32)) +#define NVC0TCL_RT_FORMAT__SIZE 0x00000008 +#define NVC0TCL_RT_FORMAT_R32G32B32A32_FLOAT 0x000000c0 +#define NVC0TCL_RT_FORMAT_R32G32B32A32_SINT 0x000000c1 +#define NVC0TCL_RT_FORMAT_R32G32B32A32_UINT 0x000000c2 +#define NVC0TCL_RT_FORMAT_R32G32B32X32_FLOAT 0x000000c3 +#define NVC0TCL_RT_FORMAT_R16G16B16A16_UNORM 0x000000c6 +#define NVC0TCL_RT_FORMAT_R16G16B16A16_SNORM 0x000000c7 +#define NVC0TCL_RT_FORMAT_R16G16B16A16_SINT 0x000000c8 +#define NVC0TCL_RT_FORMAT_R16G16B16A16_UINT 0x000000c9 +#define NVC0TCL_RT_FORMAT_R16G16B16A16_FLOAT 0x000000ca +#define NVC0TCL_RT_FORMAT_R32G32_FLOAT 0x000000cb +#define NVC0TCL_RT_FORMAT_R32G32_SINT 0x000000cc +#define NVC0TCL_RT_FORMAT_R32G32_UINT 0x000000cd +#define NVC0TCL_RT_FORMAT_R16G16B16X16_FLOAT 0x000000ce +#define NVC0TCL_RT_FORMAT_A8R8G8B8_UNORM 0x000000cf +#define NVC0TCL_RT_FORMAT_A8R8G8B8_SRGB 0x000000d0 +#define NVC0TCL_RT_FORMAT_A2B10G10R10_UNORM 0x000000d1 +#define NVC0TCL_RT_FORMAT_A2B10G10R10_UINT 0x000000d2 +#define NVC0TCL_RT_FORMAT_A8B8G8R8_UNORM 0x000000d5 +#define NVC0TCL_RT_FORMAT_A8B8G8R8_SRGB 0x000000d6 +#define NVC0TCL_RT_FORMAT_A8B8G8R8_SNORM 0x000000d7 +#define NVC0TCL_RT_FORMAT_A8B8G8R8_SINT 0x000000d8 +#define NVC0TCL_RT_FORMAT_A8B8G8R8_UINT 0x000000d9 +#define NVC0TCL_RT_FORMAT_R16G16_UNORM 0x000000da +#define NVC0TCL_RT_FORMAT_R16G16_SNORM 0x000000db +#define NVC0TCL_RT_FORMAT_R16G16_SINT 0x000000dc +#define NVC0TCL_RT_FORMAT_R16G16_UINT 0x000000dd +#define NVC0TCL_RT_FORMAT_R16G16_FLOAT 0x000000de +#define NVC0TCL_RT_FORMAT_A2R10G10B10_UNORM 0x000000df +#define NVC0TCL_RT_FORMAT_B10G11R11_FLOAT 0x000000e0 +#define NVC0TCL_RT_FORMAT_R32_FLOAT 0x000000e5 +#define NVC0TCL_RT_FORMAT_X8R8G8B8_UNORM 0x000000e6 +#define NVC0TCL_RT_FORMAT_X8R8G8B8_SRGB 0x000000e7 +#define NVC0TCL_RT_FORMAT_R5G6B5_UNORM 0x000000e8 +#define NVC0TCL_RT_FORMAT_A1R5G5B5_UNORM 0x000000e9 +#define NVC0TCL_RT_FORMAT_R8G8_UNORM 0x000000ea +#define NVC0TCL_RT_FORMAT_R8G8_SNORM 0x000000eb +#define NVC0TCL_RT_FORMAT_R8G8_SINT 0x000000ec +#define NVC0TCL_RT_FORMAT_R8G8_UINT 0x000000ed +#define NVC0TCL_RT_FORMAT_R16_UNORM 0x000000ee +#define NVC0TCL_RT_FORMAT_R16_SNORM 0x000000ef +#define NVC0TCL_RT_FORMAT_R16_SINT 0x000000f0 +#define NVC0TCL_RT_FORMAT_R16_UINT 0x000000f1 +#define NVC0TCL_RT_FORMAT_R16_FLOAT 0x000000f2 +#define NVC0TCL_RT_FORMAT_R8_UNORM 0x000000f3 +#define NVC0TCL_RT_FORMAT_R8_SNORM 0x000000f4 +#define NVC0TCL_RT_FORMAT_R8_SINT 0x000000f5 +#define NVC0TCL_RT_FORMAT_R8_UINT 0x000000f6 +#define NVC0TCL_RT_FORMAT_A8_UNORM 0x000000f7 +#define NVC0TCL_RT_FORMAT_X1R5G5B5_UNORM 0x000000f8 +#define NVC0TCL_RT_FORMAT_X8B8G8R8_UNORM 0x000000f9 +#define NVC0TCL_RT_FORMAT_X8B8G8R8_SRGB 0x000000fa +#define NVC0TCL_RT_TILE_MODE(x) (0x00000814+((x)*32)) +#define NVC0TCL_RT_TILE_MODE__SIZE 0x00000008 +#define NVC0TCL_RT_ARRAY_MODE(x) (0x00000818+((x)*32)) +#define NVC0TCL_RT_ARRAY_MODE__SIZE 0x00000008 +#define NVC0TCL_RT_ARRAY_MODE_LAYERS_SHIFT 0 +#define NVC0TCL_RT_ARRAY_MODE_LAYERS_MASK 0x0000ffff +#define NVC0TCL_RT_ARRAY_MODE_VOLUME (1 << 16) +#define NVC0TCL_RT_LAYER_STRIDE(x) (0x0000081c+((x)*32)) +#define NVC0TCL_RT_LAYER_STRIDE__SIZE 0x00000008 +#define NVC0TCL_VIEWPORT_SCALE_X(x) (0x00000a00+((x)*32)) +#define NVC0TCL_VIEWPORT_SCALE_X__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_SCALE_Y(x) (0x00000a04+((x)*32)) +#define NVC0TCL_VIEWPORT_SCALE_Y__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_SCALE_Z(x) (0x00000a08+((x)*32)) +#define NVC0TCL_VIEWPORT_SCALE_Z__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_TRANSLATE_X(x) (0x00000a0c+((x)*32)) +#define NVC0TCL_VIEWPORT_TRANSLATE_X__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_TRANSLATE_Y(x) (0x00000a10+((x)*32)) +#define NVC0TCL_VIEWPORT_TRANSLATE_Y__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_TRANSLATE_Z(x) (0x00000a14+((x)*32)) +#define NVC0TCL_VIEWPORT_TRANSLATE_Z__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_HORIZ(x) (0x00000c00+((x)*16)) +#define NVC0TCL_VIEWPORT_HORIZ__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_HORIZ_X_SHIFT 0 +#define NVC0TCL_VIEWPORT_HORIZ_X_MASK 0x0000ffff +#define NVC0TCL_VIEWPORT_HORIZ_W_SHIFT 16 +#define NVC0TCL_VIEWPORT_HORIZ_W_MASK 0xffff0000 +#define NVC0TCL_VIEWPORT_VERT(x) (0x00000c04+((x)*16)) +#define NVC0TCL_VIEWPORT_VERT__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_VERT_Y_SHIFT 0 +#define NVC0TCL_VIEWPORT_VERT_Y_MASK 0x0000ffff +#define NVC0TCL_VIEWPORT_VERT_H_SHIFT 16 +#define NVC0TCL_VIEWPORT_VERT_H_MASK 0xffff0000 +#define NVC0TCL_DEPTH_RANGE_NEAR(x) (0x00000c08+((x)*16)) +#define NVC0TCL_DEPTH_RANGE_NEAR__SIZE 0x00000010 +#define NVC0TCL_DEPTH_RANGE_FAR(x) (0x00000c0c+((x)*16)) +#define NVC0TCL_DEPTH_RANGE_FAR__SIZE 0x00000010 +#define NVC0TCL_VIEWPORT_CLIP_HORIZ(x) (0x00000d00+((x)*8)) +#define NVC0TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008 +#define NVC0TCL_VIEWPORT_CLIP_HORIZ_MIN_SHIFT 0 +#define NVC0TCL_VIEWPORT_CLIP_HORIZ_MIN_MASK 0x0000ffff +#define NVC0TCL_VIEWPORT_CLIP_HORIZ_MAX_SHIFT 16 +#define NVC0TCL_VIEWPORT_CLIP_HORIZ_MAX_MASK 0xffff0000 +#define NVC0TCL_VIEWPORT_CLIP_VERT(x) (0x00000d04+((x)*8)) +#define NVC0TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008 +#define NVC0TCL_VIEWPORT_CLIP_VERT_MIN_SHIFT 0 +#define NVC0TCL_VIEWPORT_CLIP_VERT_MIN_MASK 0x0000ffff +#define NVC0TCL_VIEWPORT_CLIP_VERT_MAX_SHIFT 16 +#define NVC0TCL_VIEWPORT_CLIP_VERT_MAX_MASK 0xffff0000 +#define NVC0TCL_CLIPID_REGION_HORIZ(x) (0x00000d40+((x)*8)) +#define NVC0TCL_CLIPID_REGION_HORIZ__SIZE 0x00000004 +#define NVC0TCL_CLIPID_REGION_VERT(x) (0x00000d44+((x)*8)) +#define NVC0TCL_CLIPID_REGION_VERT__SIZE 0x00000004 +#define NVC0TCL_VERTEX_BUFFER_FIRST 0x00000d74 +#define NVC0TCL_VERTEX_BUFFER_COUNT 0x00000d78 +#define NVC0TCL_CLEAR_COLOR(x) (0x00000d80+((x)*4)) +#define NVC0TCL_CLEAR_COLOR__SIZE 0x00000004 +#define NVC0TCL_CLEAR_DEPTH 0x00000d90 +#define NVC0TCL_STACK_ADDRESS_HIGH 0x00000d94 +#define NVC0TCL_STACK_ADDRESS_LOW 0x00000d98 +#define NVC0TCL_STACK_SIZE_LOG 0x00000d9c +#define NVC0TCL_CLEAR_STENCIL 0x00000da0 +#define NVC0TCL_POLYGON_SMOOTH_ENABLE 0x00000db4 +#define NVC0TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000dc0 +#define NVC0TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000dc4 +#define NVC0TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000dc8 +#define NVC0TCL_PATCH_VERTICES 0x00000dcc +#define NVC0TCL_WATCHDOG_TIMER 0x00000de4 +#define NVC0TCL_WINDOW_OFFSET_X 0x00000df8 +#define NVC0TCL_WINDOW_OFFSET_Y 0x00000dfc +#define NVC0TCL_SCISSOR_ENABLE(x) (0x00000e00+((x)*16)) +#define NVC0TCL_SCISSOR_ENABLE__SIZE 0x00000010 +#define NVC0TCL_SCISSOR_HORIZ(x) (0x00000e04+((x)*16)) +#define NVC0TCL_SCISSOR_HORIZ__SIZE 0x00000010 +#define NVC0TCL_SCISSOR_HORIZ_MIN_SHIFT 0 +#define NVC0TCL_SCISSOR_HORIZ_MIN_MASK 0x0000ffff +#define NVC0TCL_SCISSOR_HORIZ_MAX_SHIFT 16 +#define NVC0TCL_SCISSOR_HORIZ_MAX_MASK 0xffff0000 +#define NVC0TCL_SCISSOR_VERT(x) (0x00000e08+((x)*16)) +#define NVC0TCL_SCISSOR_VERT__SIZE 0x00000010 +#define NVC0TCL_SCISSOR_VERT_MIN_SHIFT 0 +#define NVC0TCL_SCISSOR_VERT_MIN_MASK 0x0000ffff +#define NVC0TCL_SCISSOR_VERT_MAX_SHIFT 16 +#define NVC0TCL_SCISSOR_VERT_MAX_MASK 0xffff0000 +#define NVC0TCL_LOCAL_WARPS_LOG_ALLOC 0x00000f44 +#define NVC0TCL_LOCAL_WARPS_NO_CLAMP 0x00000f48 +#define NVC0TCL_STACK_WARPS_LOG_ALLOC 0x00000f4c +#define NVC0TCL_STACK_WARPS_NO_CLAMP 0x00000f50 +#define NVC0TCL_STENCIL_BACK_FUNC_REF 0x00000f54 +#define NVC0TCL_STENCIL_BACK_MASK 0x00000f58 +#define NVC0TCL_STENCIL_BACK_FUNC_MASK 0x00000f5c +#define NVC0TCL_VERTEX_RUNOUT_HIGH 0x00000f84 +#define NVC0TCL_VERTEX_RUNOUT_LOW 0x00000f88 +#define NVC0TCL_DEPTH_BOUNDS(x) (0x00000f9c+((x)*4)) +#define NVC0TCL_DEPTH_BOUNDS__SIZE 0x00000002 +#define NVC0TCL_MSAA_MASK(x) (0x00000fbc+((x)*4)) +#define NVC0TCL_MSAA_MASK__SIZE 0x00000004 +#define NVC0TCL_CLIPID_ADDRESS_HIGH 0x00000fcc +#define NVC0TCL_CLIPID_ADDRESS_LOW 0x00000fd0 +#define NVC0TCL_ZETA_ADDRESS_HIGH 0x00000fe0 +#define NVC0TCL_ZETA_ADDRESS_LOW 0x00000fe4 +#define NVC0TCL_ZETA_FORMAT 0x00000fe8 +#define NVC0TCL_ZETA_FORMAT_Z32_FLOAT 0x0000000a +#define NVC0TCL_ZETA_FORMAT_Z16_UNORM 0x00000013 +#define NVC0TCL_ZETA_FORMAT_Z24S8_UNORM 0x00000014 +#define NVC0TCL_ZETA_FORMAT_X8Z24_UNORM 0x00000015 +#define NVC0TCL_ZETA_FORMAT_S8Z24_UNORM 0x00000016 +#define NVC0TCL_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM 0x00000019 +#define NVC0TCL_ZETA_TILE_MODE 0x00000fec +#define NVC0TCL_ZETA_LAYER_STRIDE 0x00000ff0 +#define NVC0TCL_SCREEN_SCISSOR_HORIZ 0x00000ff4 +#define NVC0TCL_SCREEN_SCISSOR_HORIZ_W_SHIFT 16 +#define NVC0TCL_SCREEN_SCISSOR_HORIZ_W_MASK 0xffff0000 +#define NVC0TCL_SCREEN_SCISSOR_HORIZ_X_SHIFT 0 +#define NVC0TCL_SCREEN_SCISSOR_HORIZ_X_MASK 0x0000ffff +#define NVC0TCL_SCREEN_SCISSOR_VERT 0x00000ff8 +#define NVC0TCL_SCREEN_SCISSOR_VERT_H_SHIFT 16 +#define NVC0TCL_SCREEN_SCISSOR_VERT_H_MASK 0xffff0000 +#define NVC0TCL_SCREEN_SCISSOR_VERT_Y_SHIFT 0 +#define NVC0TCL_SCREEN_SCISSOR_VERT_Y_MASK 0x0000ffff +#define NVC0TCL_VTX_ATTR_DEFINE 0x0000114c +#define NVC0TCL_VTX_ATTR_DEFINE_ATTR_SHIFT 0 +#define NVC0TCL_VTX_ATTR_DEFINE_ATTR_MASK 0x0000003f +#define NVC0TCL_VTX_ATTR_DEFINE_COMP_SHIFT 8 +#define NVC0TCL_VTX_ATTR_DEFINE_COMP_MASK 0x00000f00 +#define NVC0TCL_VTX_ATTR_DEFINE_SIZE_SHIFT 12 +#define NVC0TCL_VTX_ATTR_DEFINE_SIZE_MASK 0x0000f000 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_SHIFT 16 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_MASK 0x000f0000 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_FLOAT 0x00070000 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_SNORM 0x00010000 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_UNORM 0x00020000 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_USCALED 0x00050000 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_SSCALED 0x00060000 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_UINT 0x00040000 +#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_SINT 0x00030000 +#define NVC0TCL_VTX_ATTR_DATA(x) (0x00001150+((x)*4)) +#define NVC0TCL_VTX_ATTR_DATA__SIZE 0x00000004 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT(x) (0x00001160+((x)*4)) +#define NVC0TCL_VERTEX_ATTRIB_FORMAT__SIZE 0x00000020 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_BUFFER_SHIFT 0 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_BUFFER_MASK 0x0000003f +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_CONST (1 << 6) +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_OFFSET_SHIFT 7 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_OFFSET_MASK 0x001fff80 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_SHIFT 21 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_MASK 0x07e00000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32_32_32 0x00200000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32_32 0x00400000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16_16_16 0x00600000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32 0x00800000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16_16 0x00a00000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8_8_8 0x01400000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16 0x01e00000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32 0x02400000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8_8 0x02600000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8 0x03000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16 0x03600000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8 0x03a00000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_2_10_10_10 0x06000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SHIFT 27 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_MASK 0x78000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT 0x38000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SNORM 0x08000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_UNORM 0x10000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_USCALED 0x28000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED 0x30000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_UINT 0x20000000 +#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SINT 0x18000000 +#define NVC0TCL_RT_CONTROL 0x0000121c +#define NVC0TCL_RT_CONTROL_COUNT_SHIFT 0 +#define NVC0TCL_RT_CONTROL_COUNT_MASK 0x0000000f +#define NVC0TCL_RT_CONTROL_MAP0_SHIFT 4 +#define NVC0TCL_RT_CONTROL_MAP0_MASK 0x00000070 +#define NVC0TCL_RT_CONTROL_MAP1_SHIFT 7 +#define NVC0TCL_RT_CONTROL_MAP1_MASK 0x00000380 +#define NVC0TCL_RT_CONTROL_MAP2_SHIFT 10 +#define NVC0TCL_RT_CONTROL_MAP2_MASK 0x00001c00 +#define NVC0TCL_RT_CONTROL_MAP3_SHIFT 13 +#define NVC0TCL_RT_CONTROL_MAP3_MASK 0x0000e000 +#define NVC0TCL_RT_CONTROL_MAP4_SHIFT 16 +#define NVC0TCL_RT_CONTROL_MAP4_MASK 0x00070000 +#define NVC0TCL_RT_CONTROL_MAP5_SHIFT 19 +#define NVC0TCL_RT_CONTROL_MAP5_MASK 0x00380000 +#define NVC0TCL_RT_CONTROL_MAP6_SHIFT 22 +#define NVC0TCL_RT_CONTROL_MAP6_MASK 0x01c00000 +#define NVC0TCL_RT_CONTROL_MAP7_SHIFT 25 +#define NVC0TCL_RT_CONTROL_MAP7_MASK 0x0e000000 +#define NVC0TCL_ZETA_HORIZ 0x00001228 +#define NVC0TCL_ZETA_VERT 0x0000122c +#define NVC0TCL_ZETA_ARRAY_MODE 0x00001230 +#define NVC0TCL_ZETA_ARRAY_MODE_LAYERS_SHIFT 0 +#define NVC0TCL_ZETA_ARRAY_MODE_LAYERS_MASK 0x0000ffff +#define NVC0TCL_ZETA_ARRAY_MODE_UNK (1 << 16) +#define NVC0TCL_LINKED_TSC 0x00001234 +#define NVC0TCL_FP_RESULT_COUNT 0x00001298 +#define NVC0TCL_DEPTH_TEST_ENABLE 0x000012cc +#define NVC0TCL_SHADE_MODEL 0x000012d4 +#define NVC0TCL_SHADE_MODEL_FLAT 0x00001d00 +#define NVC0TCL_SHADE_MODEL_SMOOTH 0x00001d01 +#define NVC0TCL_BLEND_INDEPENDENT 0x000012e4 +#define NVC0TCL_DEPTH_WRITE_ENABLE 0x000012e8 +#define NVC0TCL_ALPHA_TEST_ENABLE 0x000012ec +#define NVC0TCL_PM_SET(x) (0x000012f0+((x)*4)) +#define NVC0TCL_PM_SET__SIZE 0x00000004 +#define NVC0TCL_VB_ELEMENT_U8_SETUP 0x00001300 +#define NVC0TCL_VB_ELEMENT_U8_SETUP_OFFSET_SHIFT 30 +#define NVC0TCL_VB_ELEMENT_U8_SETUP_OFFSET_MASK 0xc0000000 +#define NVC0TCL_VB_ELEMENT_U8_SETUP_COUNT_SHIFT 0 +#define NVC0TCL_VB_ELEMENT_U8_SETUP_COUNT_MASK 0x3fffffff +#define NVC0TCL_VB_ELEMENT_U8 0x00001304 +#define NVC0TCL_VB_ELEMENT_U8_I0_SHIFT 0 +#define NVC0TCL_VB_ELEMENT_U8_I0_MASK 0x000000ff +#define NVC0TCL_VB_ELEMENT_U8_I1_SHIFT 8 +#define NVC0TCL_VB_ELEMENT_U8_I1_MASK 0x0000ff00 +#define NVC0TCL_VB_ELEMENT_U8_I2_SHIFT 16 +#define NVC0TCL_VB_ELEMENT_U8_I2_MASK 0x00ff0000 +#define NVC0TCL_VB_ELEMENT_U8_I3_SHIFT 24 +#define NVC0TCL_VB_ELEMENT_U8_I3_MASK 0xff000000 +#define NVC0TCL_DEPTH_TEST_FUNC 0x0000130c +#define NVC0TCL_DEPTH_TEST_FUNC_NEVER 0x00000200 +#define NVC0TCL_DEPTH_TEST_FUNC_LESS 0x00000201 +#define NVC0TCL_DEPTH_TEST_FUNC_EQUAL 0x00000202 +#define NVC0TCL_DEPTH_TEST_FUNC_LEQUAL 0x00000203 +#define NVC0TCL_DEPTH_TEST_FUNC_GREATER 0x00000204 +#define NVC0TCL_DEPTH_TEST_FUNC_NOTEQUAL 0x00000205 +#define NVC0TCL_DEPTH_TEST_FUNC_GEQUAL 0x00000206 +#define NVC0TCL_DEPTH_TEST_FUNC_ALWAYS 0x00000207 +#define NVC0TCL_ALPHA_TEST_REF 0x00001310 +#define NVC0TCL_ALPHA_TEST_FUNC 0x00001314 +#define NVC0TCL_ALPHA_TEST_FUNC_NEVER 0x00000200 +#define NVC0TCL_ALPHA_TEST_FUNC_LESS 0x00000201 +#define NVC0TCL_ALPHA_TEST_FUNC_EQUAL 0x00000202 +#define NVC0TCL_ALPHA_TEST_FUNC_LEQUAL 0x00000203 +#define NVC0TCL_ALPHA_TEST_FUNC_GREATER 0x00000204 +#define NVC0TCL_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205 +#define NVC0TCL_ALPHA_TEST_FUNC_GEQUAL 0x00000206 +#define NVC0TCL_ALPHA_TEST_FUNC_ALWAYS 0x00000207 +#define NVC0TCL_BLEND_COLOR(x) (0x0000131c+((x)*4)) +#define NVC0TCL_BLEND_COLOR__SIZE 0x00000004 +#define NVC0TCL_TIC_FLUSH 0x00001330 +#define NVC0TCL_TSC_FLUSH 0x00001334 +#define NVC0TCL_TEX_CACHE_CTL 0x00001338 +#define NVC0TCL_BLEND_EQUATION_RGB 0x00001340 +#define NVC0TCL_BLEND_EQUATION_RGB_FUNC_ADD 0x00008006 +#define NVC0TCL_BLEND_EQUATION_RGB_MIN 0x00008007 +#define NVC0TCL_BLEND_EQUATION_RGB_MAX 0x00008008 +#define NVC0TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a +#define NVC0TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b +#define NVC0TCL_BLEND_FUNC_SRC_RGB 0x00001344 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00004000 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE 0x00004001 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00004300 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00004301 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00004302 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00004304 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00004305 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00004306 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00004307 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00004308 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x0000c001 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x0000c003 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC1_COLOR 0x0000c900 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC1_ALPHA 0x0000c902 +#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 +#define NVC0TCL_BLEND_FUNC_DST_RGB 0x00001348 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ZERO 0x00004000 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE 0x00004001 +#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00004300 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00004301 +#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00004302 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NVC0TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00004304 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00004305 +#define NVC0TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00004306 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00004307 +#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00004308 +#define NVC0TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x0000c001 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NVC0TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x0000c003 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC1_COLOR 0x0000c900 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC1_ALPHA 0x0000c902 +#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 +#define NVC0TCL_BLEND_EQUATION_ALPHA 0x0000134c +#define NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006 +#define NVC0TCL_BLEND_EQUATION_ALPHA_MIN 0x00008007 +#define NVC0TCL_BLEND_EQUATION_ALPHA_MAX 0x00008008 +#define NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x0000800a +#define NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA 0x00001350 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00004000 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00004001 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x00004300 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x00004302 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x00004304 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x00004306 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00004308 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x0000c001 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x0000c003 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC1_COLOR 0x0000c900 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC1_ALPHA 0x0000c902 +#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA 0x00001358 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00004000 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00004001 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x00004300 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x00004302 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x00004304 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x00004306 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x00004308 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x0000c001 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x0000c003 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC1_COLOR 0x0000c900 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC1_ALPHA 0x0000c902 +#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 +#define NVC0TCL_STENCIL_ENABLE 0x00001380 +#define NVC0TCL_STENCIL_FRONT_OP_FAIL 0x00001384 +#define NVC0TCL_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000 +#define NVC0TCL_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a +#define NVC0TCL_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00 +#define NVC0TCL_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01 +#define NVC0TCL_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02 +#define NVC0TCL_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03 +#define NVC0TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507 +#define NVC0TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508 +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL 0x00001388 +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000 +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00 +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01 +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02 +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03 +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507 +#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508 +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS 0x0000138c +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000 +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00 +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01 +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02 +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03 +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507 +#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC 0x00001390 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206 +#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207 +#define NVC0TCL_STENCIL_FRONT_FUNC_REF 0x00001394 +#define NVC0TCL_STENCIL_FRONT_MASK 0x00001398 +#define NVC0TCL_STENCIL_FRONT_FUNC_MASK 0x0000139c +#define NVC0TCL_FRAG_COLOR_CLAMP_EN 0x000013a8 +#define NVC0TCL_Y_ORIGIN_BOTTOM 0x000013ac +#define NVC0TCL_LINE_WIDTH(x) (0x000013b0+((x)*4)) +#define NVC0TCL_LINE_WIDTH__SIZE 0x00000002 +#define NVC0TCL_POINT_COORD_REPLACE_MAP(x) (0x000013c0+((x)*4)) +#define NVC0TCL_POINT_COORD_REPLACE_MAP__SIZE 0x00000008 +#define NVC0TCL_GP_VERTEX_OUTPUT_COUNT 0x00001420 +#define NVC0TCL_FENCE 0x0000142c +#define NVC0TCL_VB_ELEMENT_BASE 0x00001434 +#define NVC0TCL_INSTANCE_BASE 0x00001438 +#define NVC0TCL_CODE_CB_FLUSH 0x00001440 +#define NVC0TCL_CLIPID_HEIGHT 0x00001504 +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE 0x00001510 +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_0 (1 << 0) +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_1 (1 << 1) +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_2 (1 << 2) +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_3 (1 << 3) +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_4 (1 << 4) +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_5 (1 << 5) +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_6 (1 << 6) +#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_7 (1 << 7) +#define NVC0TCL_SAMPLECNT_ENABLE 0x00001514 +#define NVC0TCL_POINT_SIZE 0x00001518 +#define NVC0TCL_POINT_SPRITE_ENABLE 0x00001520 +#define NVC0TCL_SAMPLECNT_RESET 0x00001530 +#define NVC0TCL_MULTISAMPLE_ZETA_ENABLE 0x00001534 +#define NVC0TCL_ZETA_ENABLE 0x00001538 +#define NVC0TCL_MULTISAMPLE_CTRL 0x0000153c +#define NVC0TCL_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE (1 << 0) +#define NVC0TCL_MULTISAMPLE_CTRL_ALPHA_TO_ONE (1 << 4) +#define NVC0TCL_NOPERSPECTIVE_BITMAP(x) (0x00001540+((x)*4)) +#define NVC0TCL_NOPERSPECTIVE_BITMAP__SIZE 0x00000004 +#define NVC0TCL_COND_ADDRESS_HIGH 0x00001550 +#define NVC0TCL_COND_ADDRESS_LOW 0x00001554 +#define NVC0TCL_COND_MODE 0x00001558 +#define NVC0TCL_COND_MODE_NEVER 0x00000000 +#define NVC0TCL_COND_MODE_ALWAYS 0x00000001 +#define NVC0TCL_COND_MODE_RES 0x00000002 +#define NVC0TCL_COND_MODE_NOT_RES_AND_NOT_ID 0x00000003 +#define NVC0TCL_COND_MODE_RES_OR_ID 0x00000004 +#define NVC0TCL_TSC_ADDRESS_HIGH 0x0000155c +#define NVC0TCL_TSC_ADDRESS_LOW 0x00001560 +#define NVC0TCL_TSC_LIMIT 0x00001564 +#define NVC0TCL_POLYGON_OFFSET_FACTOR 0x0000156c +#define NVC0TCL_LINE_SMOOTH_ENABLE 0x00001570 +#define NVC0TCL_TIC_ADDRESS_HIGH 0x00001574 +#define NVC0TCL_TIC_ADDRESS_LOW 0x00001578 +#define NVC0TCL_TIC_LIMIT 0x0000157c +#define NVC0TCL_PM_CONTROL(x) (0x00001580+((x)*4)) +#define NVC0TCL_PM_CONTROL__SIZE 0x00000004 +#define NVC0TCL_PM_CONTROL_UNK0 (1 << 0) +#define NVC0TCL_PM_CONTROL_UNK1_SHIFT 4 +#define NVC0TCL_PM_CONTROL_UNK1_MASK 0x00000070 +#define NVC0TCL_PM_CONTROL_UNK2_SHIFT 8 +#define NVC0TCL_PM_CONTROL_UNK2_MASK 0xffffff00 +#define NVC0TCL_STENCIL_TWO_SIDE_ENABLE 0x00001594 +#define NVC0TCL_STENCIL_BACK_OP_FAIL 0x00001598 +#define NVC0TCL_STENCIL_BACK_OP_FAIL_ZERO 0x00000000 +#define NVC0TCL_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a +#define NVC0TCL_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00 +#define NVC0TCL_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01 +#define NVC0TCL_STENCIL_BACK_OP_FAIL_INCR 0x00001e02 +#define NVC0TCL_STENCIL_BACK_OP_FAIL_DECR 0x00001e03 +#define NVC0TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507 +#define NVC0TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508 +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL 0x0000159c +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000 +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00 +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01 +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02 +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03 +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507 +#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508 +#define NVC0TCL_STENCIL_BACK_OP_ZPASS 0x000015a0 +#define NVC0TCL_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000 +#define NVC0TCL_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a +#define NVC0TCL_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00 +#define NVC0TCL_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01 +#define NVC0TCL_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02 +#define NVC0TCL_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03 +#define NVC0TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507 +#define NVC0TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC 0x000015a4 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206 +#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207 +#define NVC0TCL_MULTISAMPLE_COLOR_ENABLE 0x000015b4 +#define NVC0TCL_FRAMEBUFFER_SRGB 0x000015b8 +#define NVC0TCL_POLYGON_OFFSET_UNITS 0x000015bc +#define NVC0TCL_GP_BUILTIN_RESULT_EN 0x000015cc +#define NVC0TCL_GP_BUILTIN_RESULT_EN_VPORT (1 << 0) +#define NVC0TCL_GP_BUILTIN_RESULT_EN_LAYER (1 << 16) +#define NVC0TCL_MULTISAMPLE_MODE 0x000015d0 +#define NVC0TCL_MULTISAMPLE_MODE_1X 0x00000000 +#define NVC0TCL_MULTISAMPLE_MODE_2XMS 0x00000001 +#define NVC0TCL_MULTISAMPLE_MODE_4XMS 0x00000002 +#define NVC0TCL_MULTISAMPLE_MODE_8XMS 0x00000004 +#define NVC0TCL_MULTISAMPLE_MODE_4XMS_4XCS 0x00000008 +#define NVC0TCL_MULTISAMPLE_MODE_4XMS_12XCS 0x00000009 +#define NVC0TCL_MULTISAMPLE_MODE_8XMS_8XCS 0x0000000a +#define NVC0TCL_EDGEFLAG_ENABLE 0x000015e4 +#define NVC0TCL_VB_ELEMENT_U32 0x000015e8 +#define NVC0TCL_VB_ELEMENT_U16_SETUP 0x000015ec +#define NVC0TCL_VB_ELEMENT_U16_SETUP_OFFSET_SHIFT 30 +#define NVC0TCL_VB_ELEMENT_U16_SETUP_OFFSET_MASK 0xc0000000 +#define NVC0TCL_VB_ELEMENT_U16_SETUP_COUNT_SHIFT 0 +#define NVC0TCL_VB_ELEMENT_U16_SETUP_COUNT_MASK 0x3fffffff +#define NVC0TCL_VB_ELEMENT_U16 0x000015f0 +#define NVC0TCL_VB_ELEMENT_U16_I0_SHIFT 0 +#define NVC0TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff +#define NVC0TCL_VB_ELEMENT_U16_I1_SHIFT 16 +#define NVC0TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000 +#define NVC0TCL_VERTEX_BASE_HIGH 0x000015f4 +#define NVC0TCL_VERTEX_BASE_LOW 0x000015f8 +#define NVC0TCL_CODE_ADDRESS_HIGH 0x00001608 +#define NVC0TCL_CODE_ADDRESS_LOW 0x0000160c +#define NVC0TCL_VERTEX_BEGIN 0x00001618 +#define NVC0TCL_VERTEX_BEGIN_MODE_SHIFT 0 +#define NVC0TCL_VERTEX_BEGIN_MODE_MASK 0x0000000f +#define NVC0TCL_VERTEX_BEGIN_MODE_POINTS 0x00000000 +#define NVC0TCL_VERTEX_BEGIN_MODE_LINES 0x00000001 +#define NVC0TCL_VERTEX_BEGIN_MODE_LINE_LOOP 0x00000002 +#define NVC0TCL_VERTEX_BEGIN_MODE_LINE_STRIP 0x00000003 +#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLES 0x00000004 +#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_STRIP 0x00000005 +#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_FAN 0x00000006 +#define NVC0TCL_VERTEX_BEGIN_MODE_QUADS 0x00000007 +#define NVC0TCL_VERTEX_BEGIN_MODE_QUAD_STRIP 0x00000008 +#define NVC0TCL_VERTEX_BEGIN_MODE_POLYGON 0x00000009 +#define NVC0TCL_VERTEX_BEGIN_MODE_LINES_ADJACENCY 0x0000000a +#define NVC0TCL_VERTEX_BEGIN_MODE_LINE_STRIP_ADJACENCY 0x0000000b +#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLES_ADJACENCY 0x0000000c +#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_STRIP_ADJACENCY 0x0000000d +#define NVC0TCL_VERTEX_BEGIN_MODE_PATCHES 0x0000000e +#define NVC0TCL_VERTEX_BEGIN_INSTANCE (1 << 26) +#define NVC0TCL_VERTEX_END 0x00001614 +#define NVC0TCL_VERTEX_DATA 0x00001640 +#define NVC0TCL_PRIM_RESTART_ENABLE 0x00001644 +#define NVC0TCL_PRIM_RESTART_INDEX 0x00001648 +#define NVC0TCL_POINT_SMOOTH_ENABLE 0x00001658 +#define NVC0TCL_POINT_SPRITE_CTRL 0x00001660 +#define NVC0TCL_LINE_STIPPLE_ENABLE 0x0000166c +#define NVC0TCL_LINE_STIPPLE_PATTERN 0x00001680 +#define NVC0TCL_PROVOKING_VERTEX_LAST 0x00001684 +#define NVC0TCL_VERTEX_TWO_SIDE_ENABLE 0x00001688 +#define NVC0TCL_POLYGON_STIPPLE_ENABLE 0x0000168c +#define NVC0TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001700+((x)*4)) +#define NVC0TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020 +#define NVC0TCL_UNK17BC_ADDRESS_HIGH 0x000017bc +#define NVC0TCL_UNK17BC_ADDRESS_LOW 0x000017c0 +#define NVC0TCL_UNK17BC_LIMIT 0x000017c4 +#define NVC0TCL_VP_POINT_SIZE_EN 0x00001910 +#define NVC0TCL_CULL_FACE_ENABLE 0x00001918 +#define NVC0TCL_FRONT_FACE 0x0000191c +#define NVC0TCL_FRONT_FACE_CW 0x00000900 +#define NVC0TCL_FRONT_FACE_CCW 0x00000901 +#define NVC0TCL_CULL_FACE 0x00001920 +#define NVC0TCL_CULL_FACE_FRONT 0x00000404 +#define NVC0TCL_CULL_FACE_BACK 0x00000405 +#define NVC0TCL_CULL_FACE_FRONT_AND_BACK 0x00000408 +#define NVC0TCL_VIEWPORT_TRANSFORM_EN 0x0000192c +#define NVC0TCL_VIEW_VOLUME_CLIP_CTRL 0x0000193c +#define NVC0TCL_VIEWPORT_CLIP_RECTS_EN 0x0000194c +#define NVC0TCL_VIEWPORT_CLIP_MODE 0x00001950 +#define NVC0TCL_VIEWPORT_CLIP_MODE_INCLUDE 0x00000000 +#define NVC0TCL_VIEWPORT_CLIP_MODE_EXCLUDE 0x00000001 +#define NVC0TCL_VIEWPORT_CLIP_MODE_UNKNOWN 0x00000002 +#define NVC0TCL_FP_ZORDER_CTRL 0x0000196c +#define NVC0TCL_CLIPID_ENABLE 0x0000197c +#define NVC0TCL_CLIPID_WIDTH 0x00001980 +#define NVC0TCL_CLIPID_ID 0x00001984 +#define NVC0TCL_REG_MODE 0x000019a0 +#define NVC0TCL_REG_MODE_PACKED 0x00000001 +#define NVC0TCL_REG_MODE_STRIPED 0x00000002 +#define NVC0TCL_FP_CONTROL 0x000019a8 +#define NVC0TCL_FP_CONTROL_MULTIPLE_RESULTS (1 << 0) +#define NVC0TCL_FP_CONTROL_EXPORTS_Z (1 << 8) +#define NVC0TCL_FP_CONTROL_USES_KIL (1 << 20) +#define NVC0TCL_DEPTH_BOUNDS_EN 0x000019bc +#define NVC0TCL_LOGIC_OP_ENABLE 0x000019c4 +#define NVC0TCL_LOGIC_OP 0x000019c8 +#define NVC0TCL_LOGIC_OP_CLEAR 0x00001500 +#define NVC0TCL_LOGIC_OP_AND 0x00001501 +#define NVC0TCL_LOGIC_OP_AND_REVERSE 0x00001502 +#define NVC0TCL_LOGIC_OP_COPY 0x00001503 +#define NVC0TCL_LOGIC_OP_AND_INVERTED 0x00001504 +#define NVC0TCL_LOGIC_OP_NOOP 0x00001505 +#define NVC0TCL_LOGIC_OP_XOR 0x00001506 +#define NVC0TCL_LOGIC_OP_OR 0x00001507 +#define NVC0TCL_LOGIC_OP_NOR 0x00001508 +#define NVC0TCL_LOGIC_OP_EQUIV 0x00001509 +#define NVC0TCL_LOGIC_OP_INVERT 0x0000150a +#define NVC0TCL_LOGIC_OP_OR_REVERSE 0x0000150b +#define NVC0TCL_LOGIC_OP_COPY_INVERTED 0x0000150c +#define NVC0TCL_LOGIC_OP_OR_INVERTED 0x0000150d +#define NVC0TCL_LOGIC_OP_NAND 0x0000150e +#define NVC0TCL_LOGIC_OP_SET 0x0000150f +#define NVC0TCL_CLEAR_BUFFERS 0x000019d0 +#define NVC0TCL_CLEAR_BUFFERS_Z (1 << 0) +#define NVC0TCL_CLEAR_BUFFERS_S (1 << 1) +#define NVC0TCL_CLEAR_BUFFERS_R (1 << 2) +#define NVC0TCL_CLEAR_BUFFERS_G (1 << 3) +#define NVC0TCL_CLEAR_BUFFERS_B (1 << 4) +#define NVC0TCL_CLEAR_BUFFERS_A (1 << 5) +#define NVC0TCL_CLEAR_BUFFERS_RT_SHIFT 6 +#define NVC0TCL_CLEAR_BUFFERS_RT_MASK 0x000003c0 +#define NVC0TCL_CLEAR_BUFFERS_LAYER_SHIFT 10 +#define NVC0TCL_CLEAR_BUFFERS_LAYER_MASK 0x0007fc00 +#define NVC0TCL_COLOR_MASK(x) (0x00001a00+((x)*4)) +#define NVC0TCL_COLOR_MASK__SIZE 0x00000008 +#define NVC0TCL_COLOR_MASK_R_SHIFT 0 +#define NVC0TCL_COLOR_MASK_R_MASK 0x0000000f +#define NVC0TCL_COLOR_MASK_G_SHIFT 4 +#define NVC0TCL_COLOR_MASK_G_MASK 0x000000f0 +#define NVC0TCL_COLOR_MASK_B_SHIFT 8 +#define NVC0TCL_COLOR_MASK_B_MASK 0x00000f00 +#define NVC0TCL_COLOR_MASK_A_SHIFT 12 +#define NVC0TCL_COLOR_MASK_A_MASK 0x0000f000 +#define NVC0TCL_QUERY_ADDRESS_HIGH 0x00001b00 +#define NVC0TCL_QUERY_ADDRESS_LOW 0x00001b04 +#define NVC0TCL_QUERY_SEQUENCE 0x00001b08 +#define NVC0TCL_QUERY_GET 0x00001b0c +#define NVC0TCL_VERTEX_ARRAY_FETCH(x) (0x00001c00+((x)*16)) +#define NVC0TCL_VERTEX_ARRAY_FETCH__SIZE 0x00000020 +#define NVC0TCL_VERTEX_ARRAY_FETCH_STRIDE_SHIFT 0 +#define NVC0TCL_VERTEX_ARRAY_FETCH_STRIDE_MASK 0x00000fff +#define NVC0TCL_VERTEX_ARRAY_FETCH_ENABLE (1 << 12) +#define NVC0TCL_BLEND_EQUATIONI_RGB(x) (0x00001e04+((x)*32)) +#define NVC0TCL_BLEND_EQUATIONI_RGB__SIZE 0x00000008 +#define NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_ADD 0x00008006 +#define NVC0TCL_BLEND_EQUATIONI_RGB_MIN 0x00008007 +#define NVC0TCL_BLEND_EQUATIONI_RGB_MAX 0x00008008 +#define NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_SUBTRACT 0x0000800a +#define NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b +#define NVC0TCL_BLEND_FUNCI_SRC_RGB(x) (0x00001e08+((x)*32)) +#define NVC0TCL_BLEND_FUNCI_SRC_RGB__SIZE 0x00000008 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ZERO 0x00004000 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE 0x00004001 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_COLOR 0x00004300 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00004301 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_ALPHA 0x00004302 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_DST_ALPHA 0x00004304 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00004305 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_DST_COLOR 0x00004306 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_DST_COLOR 0x00004307 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_ALPHA_SATURATE 0x00004308 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_CONSTANT_COLOR 0x0000c001 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_CONSTANT_ALPHA 0x0000c003 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC1_COLOR 0x0000c900 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC1_ALPHA 0x0000c902 +#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 +#define NVC0TCL_BLEND_FUNCI_DST_RGB(x) (0x00001e0c+((x)*32)) +#define NVC0TCL_BLEND_FUNCI_DST_RGB__SIZE 0x00000008 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ZERO 0x00004000 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE 0x00004001 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_COLOR 0x00004300 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC_COLOR 0x00004301 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_ALPHA 0x00004302 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_DST_ALPHA 0x00004304 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_DST_ALPHA 0x00004305 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_DST_COLOR 0x00004306 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_DST_COLOR 0x00004307 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_ALPHA_SATURATE 0x00004308 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_CONSTANT_COLOR 0x0000c001 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_CONSTANT_ALPHA 0x0000c003 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC1_COLOR 0x0000c900 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC1_ALPHA 0x0000c902 +#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 +#define NVC0TCL_BLEND_EQUATIONI_ALPHA(x) (0x00001e10+((x)*32)) +#define NVC0TCL_BLEND_EQUATIONI_ALPHA__SIZE 0x00000008 +#define NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_ADD 0x00008006 +#define NVC0TCL_BLEND_EQUATIONI_ALPHA_MIN 0x00008007 +#define NVC0TCL_BLEND_EQUATIONI_ALPHA_MAX 0x00008008 +#define NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_SUBTRACT 0x0000800a +#define NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA(x) (0x00001e14+((x)*32)) +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA__SIZE 0x00000008 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ZERO 0x00004000 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE 0x00004001 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_COLOR 0x00004300 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_ALPHA 0x00004302 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_DST_ALPHA 0x00004304 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_DST_COLOR 0x00004306 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00004308 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_CONSTANT_COLOR 0x0000c001 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_CONSTANT_ALPHA 0x0000c003 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC1_COLOR 0x0000c900 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC1_ALPHA 0x0000c902 +#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA(x) (0x00001e18+((x)*32)) +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA__SIZE 0x00000008 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ZERO 0x00004000 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE 0x00004001 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_COLOR 0x00004300 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_ALPHA 0x00004302 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_DST_ALPHA 0x00004304 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_DST_COLOR 0x00004306 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_ALPHA_SATURATE 0x00004308 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_CONSTANT_COLOR 0x0000c001 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_CONSTANT_ALPHA 0x0000c003 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC1_COLOR 0x0000c900 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC1_ALPHA 0x0000c902 +#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 +#define NVC0TCL_SP_SELECT(x) (0x00002000+((x)*64)) +#define NVC0TCL_SP_SELECT__SIZE 0x00000006 +#define NVC0TCL_SP_SELECT_ENABLE (1 << 0) +#define NVC0TCL_SP_SELECT_PROGRAM_SHIFT 4 +#define NVC0TCL_SP_SELECT_PROGRAM_MASK 0x000000f0 +#define NVC0TCL_SP_START_ID(x) (0x00002004+((x)*64)) +#define NVC0TCL_SP_START_ID__SIZE 0x00000006 +#define NVC0TCL_SP_GPR_ALLOC(x) (0x0000200c+((x)*64)) +#define NVC0TCL_SP_GPR_ALLOC__SIZE 0x00000006 +#define NVC0TCL_CB_SIZE 0x00002380 +#define NVC0TCL_CB_BIND(x) (0x00002410+((x)*32)) +#define NVC0TCL_CB_BIND__SIZE 0x00000005 +#define NVC0TCL_CB_BIND_VALID (1 << 0) +#define NVC0TCL_CB_BIND_INDEX_SHIFT 4 +#define NVC0TCL_CB_BIND_INDEX_MASK 0x000000f0 +#define NVC0TCL_BIND_TIC(x) (0x00002404+((x)*32)) +#define NVC0TCL_BIND_TIC__SIZE 0x00000005 +#define NVC0TCL_BIND_TIC_ACTIVE (1 << 0) +#define NVC0TCL_BIND_TIC_TEXTURE_SHIFT 1 +#define NVC0TCL_BIND_TIC_TEXTURE_MASK 0x000001fe +#define NVC0TCL_BIND_TIC_TIC_SHIFT 9 +#define NVC0TCL_BIND_TIC_TIC_MASK 0x7ffffe00 +#define NVC0TCL_TEX_LIMITS(x) (0x00002200+((x)*16)) +#define NVC0TCL_TEX_LIMITS__SIZE 0x00000005 +#define NVC0TCL_TEX_LIMITS_SAMPLERS_LOG2_SHIFT 0 +#define NVC0TCL_TEX_LIMITS_SAMPLERS_LOG2_MASK 0x0000000f +#define NVC0TCL_TEX_LIMITS_TEXTURES_LOG2_SHIFT 4 +#define NVC0TCL_TEX_LIMITS_TEXTURES_LOG2_MASK 0x000000f0 +#define NVC0TCL_CB_ADDR_HIGH 0x00002384 +#define NVC0TCL_CB_ADDR_LOW 0x00002388 +#define NVC0TCL_CB_POS 0x0000238c +#define NVC0TCL_CB_DATA(x) (0x00002390+((x)*4)) +#define NVC0TCL_CB_DATA__SIZE 0x00000010 +#define NVC0TCL_TFB_VARYING_LOCS(x) (0x00002800+((x)*4)) +#define NVC0TCL_TFB_VARYING_LOCS__SIZE 0x00000080 +#define NVC0TCL_UNK_UPLOAD_POS 0x00003800 +#define NVC0TCL_UNK_UPLOAD_DATA 0x00003804 +#define NVC0TCL_VERTEX_ARRAY_SELECT 0x00003820 +#define NVC0TCL_VERTEX_ARRAY_ADDRESS 0x00003824 +#define NVC0TCL_BLEND_ENABLEI 0x00003858 +#define NVC0TCL_POLYGON_MODE_FRONT 0x00003868 +#define NVC0TCL_POLYGON_MODE_FRONT_POINT 0x00001b00 +#define NVC0TCL_POLYGON_MODE_FRONT_LINE 0x00001b01 +#define NVC0TCL_POLYGON_MODE_FRONT_FILL 0x00001b02 +#define NVC0TCL_POLYGON_MODE_BACK 0x00003870 +#define NVC0TCL_POLYGON_MODE_BACK_POINT 0x00001b00 +#define NVC0TCL_POLYGON_MODE_BACK_LINE 0x00001b01 +#define NVC0TCL_POLYGON_MODE_BACK_FILL 0x00001b02 +#define NVC0TCL_GP_SELECT 0x00003878 +#define NVC0TCL_GP_SELECT_ENABLE (1 << 0) +#define NVC0TCL_GP_SELECT_PROGRAM_SHIFT 4 +#define NVC0TCL_GP_SELECT_PROGRAM_MASK 0x000000f0 +#define NVC0TCL_TEP_SELECT 0x00003880 +#define NVC0TCL_TEP_SELECT_ENABLE (1 << 0) +#define NVC0TCL_TEP_SELECT_PROGRAM_SHIFT 4 +#define NVC0TCL_TEP_SELECT_PROGRAM_MASK 0x000000f0 + + +#define NVC0_COMPUTE 0x000090c0 + +#define NVC0_COMPUTE_NOP 0x00000100 +#define NVC0_COMPUTE_NOTIFY 0x00000104 +#define NVC0_COMPUTE_SERIALIZE 0x00000110 +#define NVC0_COMPUTE_LOCAL_SIZE 0x00000204 +#define NVC0_COMPUTE_SHARED_BASE 0x00000214 +#define NVC0_COMPUTE_GRIDDIM_YX 0x00000238 +#define NVC0_COMPUTE_GRIDDIM_YX_X_SHIFT 0 +#define NVC0_COMPUTE_GRIDDIM_YX_X_MASK 0x0000ffff +#define NVC0_COMPUTE_GRIDDIM_YX_Y_SHIFT 16 +#define NVC0_COMPUTE_GRIDDIM_YX_Y_MASK 0xffff0000 +#define NVC0_COMPUTE_GRIDDIM_Z 0x0000023c +#define NVC0_COMPUTE_SHARED_SIZE 0x0000024c +#define NVC0_COMPUTE_BLOCK_ALLOC 0x00000250 +#define NVC0_COMPUTE_BLOCK_ALLOC_THREADS_SHIFT 0 +#define NVC0_COMPUTE_BLOCK_ALLOC_THREADS_MASK 0x0000ffff +#define NVC0_COMPUTE_BLOCK_ALLOC_BARRIERS_SHIFT 16 +#define NVC0_COMPUTE_BLOCK_ALLOC_BARRIERS_MASK 0xffff0000 +#define NVC0_COMPUTE_CP_GPR_ALLOC 0x000002c0 +#define NVC0_COMPUTE_GLOBAL_BASE 0x000002c8 +#define NVC0_COMPUTE_GLOBAL_BASE_HIGH_SHIFT 0 +#define NVC0_COMPUTE_GLOBAL_BASE_HIGH_MASK 0x000000ff +#define NVC0_COMPUTE_GLOBAL_BASE_INDEX_SHIFT 16 +#define NVC0_COMPUTE_GLOBAL_BASE_INDEX_MASK 0x00ff0000 +#define NVC0_COMPUTE_GLOBAL_BASE_FLAGS_SHIFT 28 +#define NVC0_COMPUTE_GLOBAL_BASE_FLAGS_MASK 0xf0000000 +#define NVC0_COMPUTE_LAUNCH 0x00000368 +#define NVC0_COMPUTE_BLOCKDIM_YX 0x000003ac +#define NVC0_COMPUTE_BLOCKDIM_YX_X_SHIFT 0 +#define NVC0_COMPUTE_BLOCKDIM_YX_X_MASK 0x0000ffff +#define NVC0_COMPUTE_BLOCKDIM_YX_Y_SHIFT 16 +#define NVC0_COMPUTE_BLOCKDIM_YX_Y_MASK 0xffff0000 +#define NVC0_COMPUTE_BLOCKDIM_Z 0x000003b0 +#define NVC0_COMPUTE_CP_START_ID 0x000003b4 +#define NVC0_COMPUTE_LOCAL_BASE 0x0000077c +#define NVC0_COMPUTE_UNK0790_ADDRESS_HIGH 0x00000790 +#define NVC0_COMPUTE_UNK0790_ADDRESS_LOW 0x00000794 +#define NVC0_COMPUTE_LINKED_TSC 0x00001234 +#define NVC0_COMPUTE_TSC_ADDRESS_HIGH 0x0000155c +#define NVC0_COMPUTE_TSC_ADDRESS_LOW 0x00001560 +#define NVC0_COMPUTE_TSC_LIMIT 0x00001564 +#define NVC0_COMPUTE_TIC_ADDRESS_HIGH 0x00001574 +#define NVC0_COMPUTE_TIC_ADDRESS_LOW 0x00001578 +#define NVC0_COMPUTE_TIC_LIMIT 0x0000157c +#define NVC0_COMPUTE_CODE_ADDRESS_HIGH 0x00001608 +#define NVC0_COMPUTE_CODE_ADDRESS_LOW 0x0000160c +#define NVC0_COMPUTE_CB_BIND 0x00001694 +#define NVC0_COMPUTE_CB_BIND_INDEX_SHIFT 1 +#define NVC0_COMPUTE_CB_BIND_INDEX_MASK 0xfffffffe +#define NVC0_COMPUTE_CB_BIND_VALID (1 << 0) +#define NVC0_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00 +#define NVC0_COMPUTE_QUERY_ADDRESS_LOW 0x00001b04 +#define NVC0_COMPUTE_QUERY_SEQUENCE 0x00001b08 +#define NVC0_COMPUTE_QUERY_GET 0x00001b0c +#define NVC0_COMPUTE_CB_ADDRESS_HIGH 0x00002384 +#define NVC0_COMPUTE_CB_ADDRESS_LOW 0x00002388 +#define NVC0_COMPUTE_CB_POS 0x0000238c +#define NVC0_COMPUTE_CB_DATA 0x00002390 + + #endif /* NOUVEAU_REG_H */ diff --combined src/gallium/drivers/nv50/nv50_miptree.c index 12b5ad106ca,c0f5cc10dd7..dd0e8fd41b1 --- a/src/gallium/drivers/nv50/nv50_miptree.c +++ b/src/gallium/drivers/nv50/nv50_miptree.c @@@ -159,9 -159,6 +159,9 @@@ nv50_miptree_create(struct pipe_screen case PIPE_FORMAT_Z24_UNORM_S8_USCALED: tile_flags = 0x2800; break; + case PIPE_FORMAT_Z32_FLOAT_S8X24_USCALED: + tile_flags = 0xe000; + break; case PIPE_FORMAT_R32G32B32A32_FLOAT: case PIPE_FORMAT_R32G32B32_FLOAT: tile_flags = 0x7400; @@@ -238,7 -235,8 +238,8 @@@ nv50_miptree_from_handle(struct pipe_sc unsigned stride; /* Only supports 2D, non-mipmapped textures for the moment */ - if (template->target != PIPE_TEXTURE_2D || + if ((template->target != PIPE_TEXTURE_2D && + template->target != PIPE_TEXTURE_RECT) || template->last_level != 0 || template->depth0 != 1) return NULL; diff --combined src/gallium/drivers/nv50/nv50_push.c index 0091927a982,57c0010bf4d..380f69406a2 --- a/src/gallium/drivers/nv50/nv50_push.c +++ b/src/gallium/drivers/nv50/nv50_push.c @@@ -108,8 -108,9 +108,9 @@@ emit_vertex(struct push_context *ctx, u int i; if (ctx->edgeflag_attr < 16) { - float *edgeflag = (uint8_t *)ctx->attr[ctx->edgeflag_attr].map + - ctx->attr[ctx->edgeflag_attr].stride * n; + float *edgeflag = (float *) + ((uint8_t *)ctx->attr[ctx->edgeflag_attr].map + + ctx->attr[ctx->edgeflag_attr].stride * n); if (*edgeflag != ctx->edgeflag) { BEGIN_RING(chan, tesla, NV50TCL_EDGEFLAG_ENABLE, 1); @@@ -227,7 -228,7 +228,7 @@@ nv50_push_elements_instanced(struct pip ctx.idxbuf = NULL; ctx.vtx_size = 0; ctx.edgeflag = 0.5f; - ctx.edgeflag_attr = nv50->vertprog->cfg.edgeflag_in; + ctx.edgeflag_attr = nv50->vertprog->vp.edgeflag; /* map vertex buffers, determine vertex size */ for (i = 0; i < nv50->vtxelt->num_elements; i++) { diff --combined src/gallium/drivers/nv50/nv50_tex.c index 55358183703,d41d9c51029..658324ec5be --- a/src/gallium/drivers/nv50/nv50_tex.c +++ b/src/gallium/drivers/nv50/nv50_tex.c @@@ -29,6 -29,56 +29,6 @@@ #include "util/u_format.h" -#define _MIXED(pf, t0, t1, t2, t3, cr, cg, cb, ca, f) \ -[PIPE_FORMAT_##pf] = ( \ - NV50TIC_0_0_MAPR_##cr | NV50TIC_0_0_TYPER_##t0 | \ - NV50TIC_0_0_MAPG_##cg | NV50TIC_0_0_TYPEG_##t1 | \ - NV50TIC_0_0_MAPB_##cb | NV50TIC_0_0_TYPEB_##t2 | \ - NV50TIC_0_0_MAPA_##ca | NV50TIC_0_0_TYPEA_##t3 | \ - NV50TIC_0_0_FMT_##f) - -#define _(pf, t, cr, cg, cb, ca, f) _MIXED(pf, t, t, t, t, cr, cg, cb, ca, f) - -static const uint32_t nv50_texture_formats[PIPE_FORMAT_COUNT] = -{ - _(B8G8R8A8_UNORM, UNORM, C2, C1, C0, C3, 8_8_8_8), - _(B8G8R8A8_SRGB, UNORM, C2, C1, C0, C3, 8_8_8_8), - _(B8G8R8X8_UNORM, UNORM, C2, C1, C0, ONE, 8_8_8_8), - _(B8G8R8X8_SRGB, UNORM, C2, C1, C0, ONE, 8_8_8_8), - _(B5G5R5A1_UNORM, UNORM, C2, C1, C0, C3, 1_5_5_5), - _(B4G4R4A4_UNORM, UNORM, C2, C1, C0, C3, 4_4_4_4), - - _(B5G6R5_UNORM, UNORM, C2, C1, C0, ONE, 5_6_5), - - _(L8_UNORM, UNORM, C0, C0, C0, ONE, 8), - _(L8_SRGB, UNORM, C0, C0, C0, ONE, 8), - _(A8_UNORM, UNORM, ZERO, ZERO, ZERO, C0, 8), - _(I8_UNORM, UNORM, C0, C0, C0, C0, 8), - - _(L8A8_UNORM, UNORM, C0, C0, C0, C1, 8_8), - _(L8A8_SRGB, UNORM, C0, C0, C0, C1, 8_8), - - _(DXT1_RGB, UNORM, C0, C1, C2, ONE, DXT1), - _(DXT1_RGBA, UNORM, C0, C1, C2, C3, DXT1), - _(DXT3_RGBA, UNORM, C0, C1, C2, C3, DXT3), - _(DXT5_RGBA, UNORM, C0, C1, C2, C3, DXT5), - - _MIXED(S8_USCALED_Z24_UNORM, UINT, UNORM, UINT, UINT, C1, C1, C1, ONE, 24_8), - _MIXED(Z24_UNORM_S8_USCALED, UNORM, UINT, UINT, UINT, C0, C0, C0, ONE, 8_24), - - _(R16G16B16A16_SNORM, UNORM, C0, C1, C2, C3, 16_16_16_16), - _(R16G16B16A16_UNORM, SNORM, C0, C1, C2, C3, 16_16_16_16), - _(R32G32B32A32_FLOAT, FLOAT, C0, C1, C2, C3, 32_32_32_32), - - _(R16G16_SNORM, SNORM, C0, C1, ZERO, ONE, 16_16), - _(R16G16_UNORM, UNORM, C0, C1, ZERO, ONE, 16_16), - - _MIXED(Z32_FLOAT, FLOAT, UINT, UINT, UINT, C0, C0, C0, ONE, 32_DEPTH) -}; - -#undef _ -#undef _MIXED - static INLINE uint32_t nv50_tic_swizzle(uint32_t tc, unsigned swz) { @@@ -56,7 -106,7 +56,7 @@@ nv50_tex_construct(struct nv50_sampler_ struct nv50_miptree *mt = nv50_miptree(view->pipe.texture); uint32_t swz[4], *tic = view->tic; - tic[0] = nv50_texture_formats[view->pipe.format]; + tic[0] = nv50_format_table[view->pipe.format].tic; swz[0] = nv50_tic_swizzle(tic[0], view->pipe.swizzle_r); swz[1] = nv50_tic_swizzle(tic[0], view->pipe.swizzle_g); @@@ -83,6 -133,9 +83,9 @@@ case PIPE_TEXTURE_2D: tic[2] |= NV50TIC_0_2_TARGET_2D; break; + case PIPE_TEXTURE_RECT: + tic[2] |= NV50TIC_0_2_TARGET_RECT; + break; case PIPE_TEXTURE_3D: tic[2] |= NV50TIC_0_2_TARGET_3D; break;