X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fr200%2Fr200_reg.h;h=5ce287f7a5f9bc7f8e07f33aa9978021860795e4;hb=80a718a63bf2fa817e346f0f5731ee9ef2e0e68b;hp=38378a92f8ca3663f54746740e1f36d01ea1e1b4;hpb=b31b7836d6e7abf80dd4feacce333d4b1fe6e4ab;p=mesa.git diff --git a/src/mesa/drivers/dri/r200/r200_reg.h b/src/mesa/drivers/dri/r200/r200_reg.h index 38378a92f8c..5ce287f7a5f 100644 --- a/src/mesa/drivers/dri/r200/r200_reg.h +++ b/src/mesa/drivers/dri/r200/r200_reg.h @@ -1,4 +1,3 @@ -/* $XFree86: xc/lib/GL/mesa/src/drv/r200/r200_reg.h,v 1.2 2002/12/16 16:18:54 dawes Exp $ */ /* Copyright (C) The Weather Channel, Inc. 2002. All Rights Reserved. @@ -172,6 +171,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_TEX_BLEND_4_ENABLE 0x00010000 #define R200_TEX_BLEND_5_ENABLE 0x00020000 #define R200_TEX_BLEND_6_ENABLE 0x00040000 +#define R200_TEX_BLEND_ENABLE_MASK 0x0007f800 +#define R200_TEX_BLEND_0_ENABLE_SHIFT (12) #define R200_MULTI_PASS_ENABLE 0x00080000 #define R200_SPECULAR_ENABLE 0x00200000 #define R200_FOG_ENABLE 0x00400000 @@ -210,6 +211,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_RE_HEIGHT_SHIFT 16 #define R200_RB3D_COLORPITCH 0x1c48 #define R200_COLORPITCH_MASK 0x000001ff8 +#define R200_COLOR_TILE_ENABLE (1 << 16) +#define R200_COLOR_MICROTILE_ENABLE (1 << 17) #define R200_COLOR_ENDIAN_NO_SWAP (0 << 18) #define R200_COLOR_ENDIAN_WORD_SWAP (1 << 18) #define R200_COLOR_ENDIAN_DWORD_SWAP (2 << 18) @@ -246,6 +249,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_ZBIAS_ENABLE_LINE (1 << 17) #define R200_ZBIAS_ENABLE_TRI (1 << 18) #define R200_WIDELINE_ENABLE (1 << 20) +#define R200_DISC_FOG_SHADE_SOLID (0 << 24) +#define R200_DISC_FOG_SHADE_FLAT (1 << 24) +#define R200_DISC_FOG_SHADE_GOURAUD (2 << 24) +#define R200_DISC_FOG_SHADE_MASK (3 << 24) #define R200_VTX_PIX_CENTER_D3D (0 << 27) #define R200_VTX_PIX_CENTER_OGL (1 << 27) #define R200_ROUND_MODE_TRUNC (0 << 28) @@ -333,6 +340,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. /* gap */ #define R200_SE_VAP_CNTL 0x2080 #define R200_VAP_TCL_ENABLE 0x00000001 +#define R200_VAP_PROG_VTX_SHADER_ENABLE 0x00000004 #define R200_VAP_SINGLE_BUF_STATE_ENABLE 0x00000010 #define R200_VAP_FORCE_W_TO_ONE 0x00010000 #define R200_VAP_D3D_TEX_DEFAULT 0x00020000 @@ -654,8 +662,37 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_CULL_FRONT (1<<29) #define R200_CULL_BACK (1<<30) #define R200_SE_TCL_POINT_SPRITE_CNTL 0x22c4 -#define R200_POINTSIZE_SEL_STATE (1<<16) +#define R200_PS_MULT_PVATTENCONST (0<<0) +#define R200_PS_MULT_PVATTEN (1<<0) +#define R200_PS_MULT_ATTENCONST (2<<0) +#define R200_PS_MULT_PVCONST (3<<0) +#define R200_PS_MULT_CONST (4<<0) +#define R200_PS_MULT_MASK (7<<0) +#define R200_PS_LIN_ATT_ZERO (1<<3) +#define R200_PS_USE_MODEL_EYE_VEC (1<<4) +#define R200_PS_ATT_ALPHA (1<<5) +#define R200_PS_UCP_MODE_MASK (3<<6) +#define R200_PS_GEN_TEX_0 (1<<8) +#define R200_PS_GEN_TEX_1 (1<<9) +#define R200_PS_GEN_TEX_2 (1<<10) +#define R200_PS_GEN_TEX_3 (1<<11) +#define R200_PS_GEN_TEX_4 (1<<12) +#define R200_PS_GEN_TEX_5 (1<<13) +#define R200_PS_GEN_TEX_0_SHIFT (8) +#define R200_PS_GEN_TEX_MASK (0x3f<<8) +#define R200_PS_SE_SEL_STATE (1<<16) /* gap */ +/* taken from r300, see comments there */ +#define R200_VAP_PVS_CNTL_1 0x22d0 +# define R200_PVS_CNTL_1_PROGRAM_START_SHIFT 0 +# define R200_PVS_CNTL_1_POS_END_SHIFT 10 +# define R200_PVS_CNTL_1_PROGRAM_END_SHIFT 20 +/* Addresses are relative the the vertex program parameters area. */ +#define R200_VAP_PVS_CNTL_2 0x22d4 +# define R200_PVS_CNTL_2_PARAM_OFFSET_SHIFT 0 +# define R200_PVS_CNTL_2_PARAM_COUNT_SHIFT 16 +/* gap */ + #define R200_SE_VTX_ST_POS_0_X_4 0x2300 #define R200_SE_VTX_ST_POS_0_Y_4 0x2304 #define R200_SE_VTX_ST_POS_0_Z_4 0x2308 @@ -850,8 +887,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_TXFORMAT_DXT1 (12 << 0) #define R200_TXFORMAT_DXT23 (14 << 0) #define R200_TXFORMAT_DXT45 (15 << 0) +#define R200_TXFORMAT_DVDU88 (18 << 0) +#define R200_TXFORMAT_LDVDU655 (19 << 0) +#define R200_TXFORMAT_LDVDU8888 (20 << 0) +#define R200_TXFORMAT_GR1616 (21 << 0) +#define R200_TXFORMAT_ABGR8888 (22 << 0) +#define R200_TXFORMAT_BGR111110 (23 << 0) #define R200_TXFORMAT_FORMAT_MASK (31 << 0) #define R200_TXFORMAT_FORMAT_SHIFT 0 +#define R200_TXFORMAT_APPLE_YUV (1 << 5) #define R200_TXFORMAT_ALPHA_IN_MAP (1 << 6) #define R200_TXFORMAT_NON_POWER2 (1 << 7) #define R200_TXFORMAT_WIDTH_MASK (15 << 8) @@ -870,6 +914,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_TXFORMAT_ST_ROUTE_STQ5 (5 << 24) #define R200_TXFORMAT_ST_ROUTE_MASK (7 << 24) #define R200_TXFORMAT_ST_ROUTE_SHIFT 24 +#define R200_TXFORMAT_LOOKUP_DISABLE (1 << 27) #define R200_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) #define R200_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) #define R200_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) @@ -923,49 +968,111 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_FACE_HEIGHT_4_SHIFT 28 #define R200_FACE_WIDTH_4_MASK (0xf << 24) #define R200_FACE_HEIGHT_4_MASK (0xf << 28) -#define R200_PP_TXFILTER_1 0x2c20 +#define R200_PP_TXMULTI_CTL_0 0x2c1c /* name from ddx, rest RE... */ +#define R200_PASS1_TXFORMAT_LOOKUP_DISABLE (1 << 0) +#define R200_PASS1_TEXCOORD_NONPROJ (0 << 1) +#define R200_PASS1_TEXCOORD_CUBIC_ENV (1 << 1) +#define R200_PASS1_TEXCOORD_VOLUME (2 << 1) +#define R200_PASS1_TEXCOORD_PROJ (3 << 1) +#define R200_PASS1_TEXCOORD_DEPTH (4 << 1) +#define R200_PASS1_TEXCOORD_1D_PROJ (5 << 1) +#define R200_PASS1_TEXCOORD_1D (6 << 1) /* pass1 texcoords only */ +#define R200_PASS1_TEXCOORD_ZERO (7 << 1) /* verifed for 2d targets! */ +#define R200_PASS1_TEXCOORD_MASK (7 << 1) /* assumed same values as for pass2 */ +#define R200_PASS1_ST_ROUTE_STQ0 (0 << 4) +#define R200_PASS1_ST_ROUTE_STQ1 (1 << 4) +#define R200_PASS1_ST_ROUTE_STQ2 (2 << 4) +#define R200_PASS1_ST_ROUTE_STQ3 (3 << 4) +#define R200_PASS1_ST_ROUTE_STQ4 (4 << 4) +#define R200_PASS1_ST_ROUTE_STQ5 (5 << 4) +#define R200_PASS1_ST_ROUTE_MASK (7 << 4) +#define R200_PASS1_ST_ROUTE_SHIFT (4) +#define R200_PASS2_COORDS_REG_0 (2 << 24) +#define R200_PASS2_COORDS_REG_1 (3 << 24) +#define R200_PASS2_COORDS_REG_2 (4 << 24) +#define R200_PASS2_COORDS_REG_3 (5 << 24) +#define R200_PASS2_COORDS_REG_4 (6 << 24) +#define R200_PASS2_COORDS_REG_5 (7 << 24) +#define R200_PASS2_COORDS_REG_MASK (0x7 << 24) +#define R200_PASS2_COORDS_REG_SHIFT (24) +#define R200_PP_TXFILTER_1 0x2c20 #define R200_PP_TXFORMAT_1 0x2c24 #define R200_PP_TXFORMAT_X_1 0x2c28 #define R200_PP_TXSIZE_1 0x2c2c #define R200_PP_TXPITCH_1 0x2c30 #define R200_PP_BORDER_COLOR_1 0x2c34 #define R200_PP_CUBIC_FACES_1 0x2c38 -#define R200_PP_TXFILTER_2 0x2c40 +#define R200_PP_TXMULTI_CTL_1 0x2c3c +#define R200_PP_TXFILTER_2 0x2c40 #define R200_PP_TXFORMAT_2 0x2c44 #define R200_PP_TXSIZE_2 0x2c4c #define R200_PP_TXFORMAT_X_2 0x2c48 #define R200_PP_TXPITCH_2 0x2c50 #define R200_PP_BORDER_COLOR_2 0x2c54 #define R200_PP_CUBIC_FACES_2 0x2c58 -#define R200_PP_TXFILTER_3 0x2c60 +#define R200_PP_TXMULTI_CTL_2 0x2c5c +#define R200_PP_TXFILTER_3 0x2c60 #define R200_PP_TXFORMAT_3 0x2c64 #define R200_PP_TXSIZE_3 0x2c6c #define R200_PP_TXFORMAT_X_3 0x2c68 #define R200_PP_TXPITCH_3 0x2c70 #define R200_PP_BORDER_COLOR_3 0x2c74 #define R200_PP_CUBIC_FACES_3 0x2c78 -#define R200_PP_TXFILTER_4 0x2c80 +#define R200_PP_TXMULTI_CTL_3 0x2c7c +#define R200_PP_TXFILTER_4 0x2c80 #define R200_PP_TXFORMAT_4 0x2c84 #define R200_PP_TXSIZE_4 0x2c8c #define R200_PP_TXFORMAT_X_4 0x2c88 #define R200_PP_TXPITCH_4 0x2c90 #define R200_PP_BORDER_COLOR_4 0x2c94 #define R200_PP_CUBIC_FACES_4 0x2c98 -#define R200_PP_TXFILTER_5 0x2ca0 +#define R200_PP_TXMULTI_CTL_4 0x2c9c +#define R200_PP_TXFILTER_5 0x2ca0 #define R200_PP_TXFORMAT_5 0x2ca4 #define R200_PP_TXSIZE_5 0x2cac #define R200_PP_TXFORMAT_X_5 0x2ca8 #define R200_PP_TXPITCH_5 0x2cb0 #define R200_PP_BORDER_COLOR_5 0x2cb4 #define R200_PP_CUBIC_FACES_5 0x2cb8 +#define R200_PP_TXMULTI_CTL_5 0x2cbc /* gap */ -#define R200_PP_CNTL_X 0x2cc4 +#define R200_PP_CNTL_X 0x2cc4 /* Reveree engineered from fglrx */ +#define R200_PPX_TEX_0_ENABLE (1 << 0) +#define R200_PPX_TEX_1_ENABLE (1 << 1) +#define R200_PPX_TEX_2_ENABLE (1 << 2) +#define R200_PPX_TEX_3_ENABLE (1 << 3) +#define R200_PPX_TEX_4_ENABLE (1 << 4) +#define R200_PPX_TEX_5_ENABLE (1 << 5) +#define R200_PPX_TEX_ENABLE_MASK (0x3f << 0) +#define R200_PPX_OUTPUT_REG_0 (1 << 6) +#define R200_PPX_OUTPUT_REG_1 (1 << 7) +#define R200_PPX_OUTPUT_REG_2 (1 << 8) +#define R200_PPX_OUTPUT_REG_3 (1 << 9) +#define R200_PPX_OUTPUT_REG_4 (1 << 10) +#define R200_PPX_OUTPUT_REG_5 (1 << 11) +#define R200_PPX_OUTPUT_REG_MASK (0x3f << 6) +#define R200_PPX_OUTPUT_REG_0_SHIFT (6) +#define R200_PPX_PFS_INST0_ENABLE (1 << 12) +#define R200_PPX_PFS_INST1_ENABLE (1 << 13) +#define R200_PPX_PFS_INST2_ENABLE (1 << 14) +#define R200_PPX_PFS_INST3_ENABLE (1 << 15) +#define R200_PPX_PFS_INST4_ENABLE (1 << 16) +#define R200_PPX_PFS_INST5_ENABLE (1 << 17) +#define R200_PPX_PFS_INST6_ENABLE (1 << 18) +#define R200_PPX_PFS_INST7_ENABLE (1 << 19) +#define R200_PPX_PFS_INST_ENABLE_MASK (0xff << 12) +#define R200_PPX_FPS_INST0_ENABLE_SHIFT (12) /* gap */ +#define R200_PP_TRI_PERF 0x2cf8 +#define R200_TRI_CUTOFF_MASK (0x1f << 0) +#define R200_PP_PERF_CNTL 0x2cfc #define R200_PP_TXOFFSET_0 0x2d00 #define R200_TXO_ENDIAN_NO_SWAP (0 << 0) #define R200_TXO_ENDIAN_BYTE_SWAP (1 << 0) #define R200_TXO_ENDIAN_WORD_SWAP (2 << 0) #define R200_TXO_ENDIAN_HALFDW_SWAP (3 << 0) +#define R200_TXO_MACRO_TILE (1 << 2) +#define R200_TXO_MICRO_TILE (1 << 3) #define R200_TXO_OFFSET_MASK 0xffffffe0 #define R200_TXO_OFFSET_SHIFT 5 #define R200_PP_CUBIC_OFFSET_F1_0 0x2d04 @@ -1012,7 +1119,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_PP_TFACTOR_3 0x2eec #define R200_PP_TFACTOR_4 0x2ef0 #define R200_PP_TFACTOR_5 0x2ef4 -/* gap */ +#define R200_PP_TFACTOR_6 0x2ef8 +#define R200_PP_TFACTOR_7 0x2efc #define R200_PP_TXCBLEND_0 0x2f00 #define R200_TXC_ARG_A_ZERO (0) #define R200_TXC_ARG_A_CURRENT_COLOR (2) @@ -1131,6 +1239,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_TXC_CLAMP_WRAP (0 << 12) #define R200_TXC_CLAMP_0_1 (1 << 12) #define R200_TXC_CLAMP_8_8 (2 << 12) +#define R200_TXC_OUTPUT_REG_SHIFT 16 #define R200_TXC_OUTPUT_REG_MASK (7 << 16) #define R200_TXC_OUTPUT_REG_NONE (0 << 16) #define R200_TXC_OUTPUT_REG_R0 (1 << 16) @@ -1273,6 +1382,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_TXA_CLAMP_WRAP (0 << 12) #define R200_TXA_CLAMP_0_1 (1 << 12) #define R200_TXA_CLAMP_8_8 (2 << 12) +#define R200_TXA_OUTPUT_REG_SHIFT 16 #define R200_TXA_OUTPUT_REG_MASK (7 << 16) #define R200_TXA_OUTPUT_REG_NONE (0 << 16) #define R200_TXA_OUTPUT_REG_R0 (1 << 16) @@ -1319,6 +1429,38 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_PP_TXCBLEND2_7 0x2f74 #define R200_PP_TXABLEND_7 0x2f78 #define R200_PP_TXABLEND2_7 0x2f7c +#define R200_PP_TXCBLEND_8 0x2f80 +#define R200_PP_TXCBLEND2_8 0x2f84 +#define R200_PP_TXABLEND_8 0x2f88 +#define R200_PP_TXABLEND2_8 0x2f8c +#define R200_PP_TXCBLEND_9 0x2f90 +#define R200_PP_TXCBLEND2_9 0x2f94 +#define R200_PP_TXABLEND_9 0x2f98 +#define R200_PP_TXABLEND2_9 0x2f9c +#define R200_PP_TXCBLEND_10 0x2fa0 +#define R200_PP_TXCBLEND2_10 0x2fa4 +#define R200_PP_TXABLEND_10 0x2fa8 +#define R200_PP_TXABLEND2_10 0x2fac +#define R200_PP_TXCBLEND_11 0x2fb0 +#define R200_PP_TXCBLEND2_11 0x2fb4 +#define R200_PP_TXABLEND_11 0x2fb8 +#define R200_PP_TXABLEND2_11 0x2fbc +#define R200_PP_TXCBLEND_12 0x2fc0 +#define R200_PP_TXCBLEND2_12 0x2fc4 +#define R200_PP_TXABLEND_12 0x2fc8 +#define R200_PP_TXABLEND2_12 0x2fcc +#define R200_PP_TXCBLEND_13 0x2fd0 +#define R200_PP_TXCBLEND2_13 0x2fd4 +#define R200_PP_TXABLEND_13 0x2fd8 +#define R200_PP_TXABLEND2_13 0x2fdc +#define R200_PP_TXCBLEND_14 0x2fe0 +#define R200_PP_TXCBLEND2_14 0x2fe4 +#define R200_PP_TXABLEND_14 0x2fe8 +#define R200_PP_TXABLEND2_14 0x2fec +#define R200_PP_TXCBLEND_15 0x2ff0 +#define R200_PP_TXCBLEND2_15 0x2ff4 +#define R200_PP_TXABLEND_15 0x2ff8 +#define R200_PP_TXABLEND2_15 0x2ffc /* gap */ #define R200_RB3D_BLENDCOLOR 0x3218 /* ARGB 8888 */ #define R200_RB3D_ABLENDCNTL 0x321C /* see BLENDCTL */ @@ -1364,6 +1506,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define R200_VS_PNT_SPRITE_CLAMP 0x000000BE #define R200_VS_MAX 0x000001C0 +#define R200_PVS_PROG0 0x00000080 +#define R200_PVS_PROG1 0x00000180 +#define R200_PVS_PARAM0 0x00000000 +#define R200_PVS_PARAM1 0x00000100 /* * Offsets in TCL scalar state