1 /* 2 Copyright (c) 2002, Thomas Kurschel 3 4 5 Part of Radeon driver 6 7 3D registers 8 */ 9 10 11 #ifndef _3D_REGS_H 12 #define _3D_REGS_H 13 14 15 #define RADEON_PP_BORDER_COLOR_0 0x1d40 16 #define RADEON_PP_BORDER_COLOR_1 0x1d44 17 #define RADEON_PP_BORDER_COLOR_2 0x1d48 18 #define RADEON_PP_CNTL 0x1c38 19 # define RADEON_STIPPLE_ENABLE (1 << 0) 20 # define RADEON_SCISSOR_ENABLE (1 << 1) 21 # define RADEON_PATTERN_ENABLE (1 << 2) 22 # define RADEON_SHADOW_ENABLE (1 << 3) 23 # define RADEON_TEX_ENABLE_MASK (0xf << 4) 24 # define RADEON_TEX_0_ENABLE (1 << 4) 25 # define RADEON_TEX_1_ENABLE (1 << 5) 26 # define RADEON_TEX_2_ENABLE (1 << 6) 27 # define RADEON_TEX_3_ENABLE (1 << 7) 28 # define RADEON_TEX_BLEND_ENABLE_MASK (0xf << 12) 29 # define RADEON_TEX_BLEND_0_ENABLE (1 << 12) 30 # define RADEON_TEX_BLEND_1_ENABLE (1 << 13) 31 # define RADEON_TEX_BLEND_2_ENABLE (1 << 14) 32 # define RADEON_TEX_BLEND_3_ENABLE (1 << 15) 33 # define RADEON_PLANAR_YUV_ENABLE (1 << 20) 34 # define RADEON_SPECULAR_ENABLE (1 << 21) 35 # define RADEON_FOG_ENABLE (1 << 22) 36 # define RADEON_ALPHA_TEST_ENABLE (1 << 23) 37 # define RADEON_ANTI_ALIAS_NONE (0 << 24) 38 # define RADEON_ANTI_ALIAS_LINE (1 << 24) 39 # define RADEON_ANTI_ALIAS_POLY (2 << 24) 40 # define RADEON_ANTI_ALIAS_LINE_POLY (3 << 24) 41 # define RADEON_BUMP_MAP_ENABLE (1 << 26) 42 # define RADEON_BUMPED_MAP_T0 (0 << 27) 43 # define RADEON_BUMPED_MAP_T1 (1 << 27) 44 # define RADEON_BUMPED_MAP_T2 (2 << 27) 45 # define RADEON_TEX_3D_ENABLE_0 (1 << 29) 46 # define RADEON_TEX_3D_ENABLE_1 (1 << 30) 47 # define RADEON_MC_ENABLE (1 << 31) 48 #define RADEON_PP_FOG_COLOR 0x1c18 49 # define RADEON_FOG_COLOR_MASK 0x00ffffff 50 # define RADEON_FOG_VERTEX (0 << 24) 51 # define RADEON_FOG_TABLE (1 << 24) 52 # define RADEON_FOG_USE_DEPTH (0 << 25) 53 # define RADEON_FOG_USE_DIFFUSE_ALPHA (2 << 25) 54 # define RADEON_FOG_USE_SPEC_ALPHA (3 << 25) 55 #define RADEON_PP_LUM_MATRIX 0x1d00 56 #define RADEON_PP_MISC 0x1c14 57 # define RADEON_REF_ALPHA_MASK 0x000000ff 58 # define RADEON_ALPHA_TEST_FAIL (0 << 8) 59 # define RADEON_ALPHA_TEST_LESS (1 << 8) 60 # define RADEON_ALPHA_TEST_LEQUAL (2 << 8) 61 # define RADEON_ALPHA_TEST_EQUAL (3 << 8) 62 # define RADEON_ALPHA_TEST_GEQUAL (4 << 8) 63 # define RADEON_ALPHA_TEST_GREATER (5 << 8) 64 # define RADEON_ALPHA_TEST_NEQUAL (6 << 8) 65 # define RADEON_ALPHA_TEST_PASS (7 << 8) 66 # define RADEON_ALPHA_TEST_OP_MASK (7 << 8) 67 # define RADEON_CHROMA_FUNC_FAIL (0 << 16) 68 # define RADEON_CHROMA_FUNC_PASS (1 << 16) 69 # define RADEON_CHROMA_FUNC_NEQUAL (2 << 16) 70 # define RADEON_CHROMA_FUNC_EQUAL (3 << 16) 71 # define RADEON_CHROMA_KEY_NEAREST (0 << 18) 72 # define RADEON_CHROMA_KEY_ZERO (1 << 18) 73 # define RADEON_SHADOW_ID_AUTO_INC (1 << 20) 74 # define RADEON_SHADOW_FUNC_EQUAL (0 << 21) 75 # define RADEON_SHADOW_FUNC_NEQUAL (1 << 21) 76 # define RADEON_SHADOW_PASS_1 (0 << 22) 77 # define RADEON_SHADOW_PASS_2 (1 << 22) 78 # define RADEON_RIGHT_HAND_CUBE_D3D (0 << 24) 79 # define RADEON_RIGHT_HAND_CUBE_OGL (1 << 24) 80 #define RADEON_PP_ROT_MATRIX_0 0x1d58 81 #define RADEON_PP_ROT_MATRIX_1 0x1d5c 82 #define RADEON_PP_TXFILTER_0 0x1c54 83 #define RADEON_PP_TXFILTER_1 0x1c6c 84 #define RADEON_PP_TXFILTER_2 0x1c84 85 # define RADEON_MAG_FILTER_NEAREST (0 << 0) 86 # define RADEON_MAG_FILTER_LINEAR (1 << 0) 87 # define RADEON_MAG_FILTER_MASK (1 << 0) 88 # define RADEON_MIN_FILTER_NEAREST (0 << 1) 89 # define RADEON_MIN_FILTER_LINEAR (1 << 1) 90 # define RADEON_MIN_FILTER_NEAREST_MIP_NEAREST (2 << 1) 91 # define RADEON_MIN_FILTER_NEAREST_MIP_LINEAR (3 << 1) 92 # define RADEON_MIN_FILTER_LINEAR_MIP_NEAREST (6 << 1) 93 # define RADEON_MIN_FILTER_LINEAR_MIP_LINEAR (7 << 1) 94 # define RADEON_MIN_FILTER_ANISO_NEAREST (8 << 1) 95 # define RADEON_MIN_FILTER_ANISO_LINEAR (9 << 1) 96 # define RADEON_MIN_FILTER_ANISO_NEAREST_MIP_NEAREST (10 << 1) 97 # define RADEON_MIN_FILTER_ANISO_NEAREST_MIP_LINEAR (11 << 1) 98 # define RADEON_MIN_FILTER_MASK (15 << 1) 99 # define RADEON_LOD_BIAS_MASK (0xffff << 8) 100 # define RADEON_LOD_BIAS_SHIFT 8 101 # define RADEON_MAX_MIP_LEVEL_MASK (0x0f << 16) 102 # define RADEON_MAX_MIP_LEVEL_SHIFT 16 103 # define RADEON_WRAPEN_S (1 << 22) 104 # define RADEON_CLAMP_S_WRAP (0 << 23) 105 # define RADEON_CLAMP_S_MIRROR (1 << 23) 106 # define RADEON_CLAMP_S_CLAMP_LAST (2 << 23) 107 # define RADEON_CLAMP_S_MIRROR_CLAMP_LAST (3 << 23) 108 # define RADEON_CLAMP_S_CLAMP_BORDER (4 << 23) 109 # define RADEON_CLAMP_S_MIRROR_CLAMP_BORDER (5 << 23) 110 # define RADEON_CLAMP_S_MASK (7 << 23) 111 # define RADEON_WRAPEN_T (1 << 26) 112 # define RADEON_CLAMP_T_WRAP (0 << 27) 113 # define RADEON_CLAMP_T_MIRROR (1 << 27) 114 # define RADEON_CLAMP_T_CLAMP_LAST (2 << 27) 115 # define RADEON_CLAMP_T_MIRROR_CLAMP_LAST (3 << 27) 116 # define RADEON_CLAMP_T_CLAMP_BORDER (4 << 27) 117 # define RADEON_CLAMP_T_MIRROR_CLAMP_BORDER (5 << 27) 118 # define RADEON_CLAMP_T_MASK (7 << 27) 119 # define RADEON_BORDER_MODE_OGL (0 << 31) 120 # define RADEON_BORDER_MODE_D3D (1 << 31) 121 #define RADEON_PP_TXFORMAT_0 0x1c58 122 #define RADEON_PP_TXFORMAT_1 0x1c70 123 #define RADEON_PP_TXFORMAT_2 0x1c88 124 # define RADEON_TXFORMAT_I8 (0 << 0) 125 # define RADEON_TXFORMAT_AI88 (1 << 0) 126 # define RADEON_TXFORMAT_RGB332 (2 << 0) 127 # define RADEON_TXFORMAT_ARGB1555 (3 << 0) 128 # define RADEON_TXFORMAT_RGB565 (4 << 0) 129 # define RADEON_TXFORMAT_ARGB4444 (5 << 0) 130 # define RADEON_TXFORMAT_ARGB8888 (6 << 0) 131 # define RADEON_TXFORMAT_RGBA8888 (7 << 0) 132 # define RADEON_TXFORMAT_Y8 (8 << 0) 133 # define RADEON_TXFORMAT_FORMAT_MASK (31 << 0) 134 # define RADEON_TXFORMAT_FORMAT_SHIFT 0 135 # define RADEON_TXFORMAT_APPLE_YUV_MODE (1 << 5) 136 # define RADEON_TXFORMAT_ALPHA_IN_MAP (1 << 6) 137 # define RADEON_TXFORMAT_NON_POWER2 (1 << 7) 138 # define RADEON_TXFORMAT_WIDTH_MASK (15 << 8) 139 # define RADEON_TXFORMAT_WIDTH_SHIFT 8 140 # define RADEON_TXFORMAT_HEIGHT_MASK (15 << 12) 141 # define RADEON_TXFORMAT_HEIGHT_SHIFT 12 142 # define RADEON_TXFORMAT_ST_ROUTE_STQ0 (0 << 24) 143 # define RADEON_TXFORMAT_ST_ROUTE_MASK (3 << 24) 144 # define RADEON_TXFORMAT_ST_ROUTE_STQ1 (1 << 24) 145 # define RADEON_TXFORMAT_ST_ROUTE_STQ2 (2 << 24) 146 # define RADEON_TXFORMAT_ENDIAN_NO_SWAP (0 << 26) 147 # define RADEON_TXFORMAT_ENDIAN_16BPP_SWAP (1 << 26) 148 # define RADEON_TXFORMAT_ENDIAN_32BPP_SWAP (2 << 26) 149 # define RADEON_TXFORMAT_ENDIAN_HALFDW_SWAP (3 << 26) 150 # define RADEON_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) 151 # define RADEON_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) 152 # define RADEON_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) 153 # define RADEON_TXFORMAT_PERSPECTIVE_ENABLE (1 << 31) 154 #define RADEON_PP_TXOFFSET_0 0x1c5c 155 #define RADEON_PP_TXOFFSET_1 0x1c74 156 #define RADEON_PP_TXOFFSET_2 0x1c8c 157 # define RADEON_TXO_ENDIAN_NO_SWAP (0 << 0) 158 # define RADEON_TXO_ENDIAN_BYTE_SWAP (1 << 0) 159 # define RADEON_TXO_ENDIAN_WORD_SWAP (2 << 0) 160 # define RADEON_TXO_ENDIAN_HALFDW_SWAP (3 << 0) 161 # define RADEON_TXO_MACRO_LINEAR (0 << 2) 162 # define RADEON_TXO_MACRO_TILE (1 << 2) 163 # define RADEON_TXO_MICRO_LINEAR (0 << 3) 164 # define RADEON_TXO_MICRO_TILE_X2 (1 << 3) 165 # define RADEON_TXO_MICRO_TILE_OPT (2 << 3) 166 # define RADEON_TXO_OFFSET_MASK 0xffffffe0 167 # define RADEON_TXO_OFFSET_SHIFT 5 168 #define RADEON_PP_TXCBLEND_0 0x1c60 169 #define RADEON_PP_TXCBLEND_1 0x1c78 170 #define RADEON_PP_TXCBLEND_2 0x1c90 171 # define RADEON_COLOR_ARG_A_SHIFT 0 172 # define RADEON_COLOR_ARG_A_MASK (0x1f << 0) 173 # define RADEON_COLOR_ARG_A_ZERO (0 << 0) 174 # define RADEON_COLOR_ARG_A_CURRENT_COLOR (2 << 0) 175 # define RADEON_COLOR_ARG_A_CURRENT_ALPHA (3 << 0) 176 # define RADEON_COLOR_ARG_A_DIFFUSE_COLOR (4 << 0) 177 # define RADEON_COLOR_ARG_A_DIFFUSE_ALPHA (5 << 0) 178 # define RADEON_COLOR_ARG_A_SPECULAR_COLOR (6 << 0) 179 # define RADEON_COLOR_ARG_A_SPECULAR_ALPHA (7 << 0) 180 # define RADEON_COLOR_ARG_A_TFACTOR_COLOR (8 << 0) 181 # define RADEON_COLOR_ARG_A_TFACTOR_ALPHA (9 << 0) 182 # define RADEON_COLOR_ARG_A_T0_COLOR (10 << 0) 183 # define RADEON_COLOR_ARG_A_T0_ALPHA (11 << 0) 184 # define RADEON_COLOR_ARG_A_T1_COLOR (12 << 0) 185 # define RADEON_COLOR_ARG_A_T1_ALPHA (13 << 0) 186 # define RADEON_COLOR_ARG_A_T2_COLOR (14 << 0) 187 # define RADEON_COLOR_ARG_A_T2_ALPHA (15 << 0) 188 # define RADEON_COLOR_ARG_A_T3_COLOR (16 << 0) 189 # define RADEON_COLOR_ARG_A_T3_ALPHA (17 << 0) 190 # define RADEON_COLOR_ARG_B_SHIFT 5 191 # define RADEON_COLOR_ARG_B_MASK (0x1f << 5) 192 # define RADEON_COLOR_ARG_B_ZERO (0 << 5) 193 # define RADEON_COLOR_ARG_B_CURRENT_COLOR (2 << 5) 194 # define RADEON_COLOR_ARG_B_CURRENT_ALPHA (3 << 5) 195 # define RADEON_COLOR_ARG_B_DIFFUSE_COLOR (4 << 5) 196 # define RADEON_COLOR_ARG_B_DIFFUSE_ALPHA (5 << 5) 197 # define RADEON_COLOR_ARG_B_SPECULAR_COLOR (6 << 5) 198 # define RADEON_COLOR_ARG_B_SPECULAR_ALPHA (7 << 5) 199 # define RADEON_COLOR_ARG_B_TFACTOR_COLOR (8 << 5) 200 # define RADEON_COLOR_ARG_B_TFACTOR_ALPHA (9 << 5) 201 # define RADEON_COLOR_ARG_B_T0_COLOR (10 << 5) 202 # define RADEON_COLOR_ARG_B_T0_ALPHA (11 << 5) 203 # define RADEON_COLOR_ARG_B_T1_COLOR (12 << 5) 204 # define RADEON_COLOR_ARG_B_T1_ALPHA (13 << 5) 205 # define RADEON_COLOR_ARG_B_T2_COLOR (14 << 5) 206 # define RADEON_COLOR_ARG_B_T2_ALPHA (15 << 5) 207 # define RADEON_COLOR_ARG_B_T3_COLOR (16 << 5) 208 # define RADEON_COLOR_ARG_B_T3_ALPHA (17 << 5) 209 # define RADEON_COLOR_ARG_C_SHIFT 10 210 # define RADEON_COLOR_ARG_C_MASK (0x1f << 10) 211 # define RADEON_COLOR_ARG_C_ZERO (0 << 10) 212 # define RADEON_COLOR_ARG_C_CURRENT_COLOR (2 << 10) 213 # define RADEON_COLOR_ARG_C_CURRENT_ALPHA (3 << 10) 214 # define RADEON_COLOR_ARG_C_DIFFUSE_COLOR (4 << 10) 215 # define RADEON_COLOR_ARG_C_DIFFUSE_ALPHA (5 << 10) 216 # define RADEON_COLOR_ARG_C_SPECULAR_COLOR (6 << 10) 217 # define RADEON_COLOR_ARG_C_SPECULAR_ALPHA (7 << 10) 218 # define RADEON_COLOR_ARG_C_TFACTOR_COLOR (8 << 10) 219 # define RADEON_COLOR_ARG_C_TFACTOR_ALPHA (9 << 10) 220 # define RADEON_COLOR_ARG_C_T0_COLOR (10 << 10) 221 # define RADEON_COLOR_ARG_C_T0_ALPHA (11 << 10) 222 # define RADEON_COLOR_ARG_C_T1_COLOR (12 << 10) 223 # define RADEON_COLOR_ARG_C_T1_ALPHA (13 << 10) 224 # define RADEON_COLOR_ARG_C_T2_COLOR (14 << 10) 225 # define RADEON_COLOR_ARG_C_T2_ALPHA (15 << 10) 226 # define RADEON_COLOR_ARG_C_T3_COLOR (16 << 10) 227 # define RADEON_COLOR_ARG_C_T3_ALPHA (17 << 10) 228 # define RADEON_COMP_ARG_A (1 << 15) 229 # define RADEON_COMP_ARG_A_SHIFT 15 230 # define RADEON_COMP_ARG_B (1 << 16) 231 # define RADEON_COMP_ARG_B_SHIFT 16 232 # define RADEON_COMP_ARG_C (1 << 17) 233 # define RADEON_COMP_ARG_C_SHIFT 17 234 # define RADEON_BLEND_CTL_MASK (7 << 18) 235 # define RADEON_BLEND_CTL_ADD (0 << 18) 236 # define RADEON_BLEND_CTL_SUBTRACT (1 << 18) 237 # define RADEON_BLEND_CTL_ADDSIGNED (2 << 18) 238 # define RADEON_BLEND_CTL_BLEND (3 << 18) 239 # define RADEON_BLEND_CTL_DOT3 (4 << 18) 240 # define RADEON_SCALE_SHIFT 21 241 # define RADEON_SCALE_MASK (3 << 21) 242 # define RADEON_SCALE_1X (0 << 21) 243 # define RADEON_SCALE_2X (1 << 21) 244 # define RADEON_SCALE_4X (2 << 21) 245 # define RADEON_CLAMP_TX (1 << 23) 246 # define RADEON_T0_EQ_TCUR (1 << 24) 247 # define RADEON_T1_EQ_TCUR (1 << 25) 248 # define RADEON_T2_EQ_TCUR (1 << 26) 249 # define RADEON_T3_EQ_TCUR (1 << 27) 250 # define RADEON_COLOR_ARG_MASK 0x1f 251 # define RADEON_COMP_ARG_SHIFT 15 252 #define RADEON_PP_TXABLEND_0 0x1c64 253 #define RADEON_PP_TXABLEND_1 0x1c7c 254 #define RADEON_PP_TXABLEND_2 0x1c94 255 # define RADEON_ALPHA_ARG_A_SHIFT 0 256 # define RADEON_ALPHA_ARG_A_MASK (0xf << 0) 257 # define RADEON_ALPHA_ARG_A_ZERO (0 << 0) 258 # define RADEON_ALPHA_ARG_A_CURRENT_ALPHA (1 << 0) 259 # define RADEON_ALPHA_ARG_A_DIFFUSE_ALPHA (2 << 0) 260 # define RADEON_ALPHA_ARG_A_SPECULAR_ALPHA (3 << 0) 261 # define RADEON_ALPHA_ARG_A_TFACTOR_ALPHA (4 << 0) 262 # define RADEON_ALPHA_ARG_A_T0_ALPHA (5 << 0) 263 # define RADEON_ALPHA_ARG_A_T1_ALPHA (6 << 0) 264 # define RADEON_ALPHA_ARG_A_T2_ALPHA (7 << 0) 265 # define RADEON_ALPHA_ARG_A_T3_ALPHA (8 << 0) 266 # define RADEON_ALPHA_ARG_B_SHIFT 4 267 # define RADEON_ALPHA_ARG_B_MASK (0xf << 4) 268 # define RADEON_ALPHA_ARG_B_ZERO (0 << 4) 269 # define RADEON_ALPHA_ARG_B_CURRENT_ALPHA (1 << 4) 270 # define RADEON_ALPHA_ARG_B_DIFFUSE_ALPHA (2 << 4) 271 # define RADEON_ALPHA_ARG_B_SPECULAR_ALPHA (3 << 4) 272 # define RADEON_ALPHA_ARG_B_TFACTOR_ALPHA (4 << 4) 273 # define RADEON_ALPHA_ARG_B_T0_ALPHA (5 << 4) 274 # define RADEON_ALPHA_ARG_B_T1_ALPHA (6 << 4) 275 # define RADEON_ALPHA_ARG_B_T2_ALPHA (7 << 4) 276 # define RADEON_ALPHA_ARG_B_T3_ALPHA (8 << 4) 277 # define RADEON_ALPHA_ARG_C_SHIFT 8 278 # define RADEON_ALPHA_ARG_C_MASK (0xf << 8) 279 # define RADEON_ALPHA_ARG_C_ZERO (0 << 8) 280 # define RADEON_ALPHA_ARG_C_CURRENT_ALPHA (1 << 8) 281 # define RADEON_ALPHA_ARG_C_DIFFUSE_ALPHA (2 << 8) 282 # define RADEON_ALPHA_ARG_C_SPECULAR_ALPHA (3 << 8) 283 # define RADEON_ALPHA_ARG_C_TFACTOR_ALPHA (4 << 8) 284 # define RADEON_ALPHA_ARG_C_T0_ALPHA (5 << 8) 285 # define RADEON_ALPHA_ARG_C_T1_ALPHA (6 << 8) 286 # define RADEON_ALPHA_ARG_C_T2_ALPHA (7 << 8) 287 # define RADEON_ALPHA_ARG_C_T3_ALPHA (8 << 8) 288 # define RADEON_DOT_ALPHA_DONT_REPLICATE (1 << 9) 289 # define RADEON_ALPHA_ARG_MASK 0xf 290 291 #define RADEON_PP_TFACTOR_0 0x1c68 292 #define RADEON_PP_TFACTOR_1 0x1c80 293 #define RADEON_PP_TFACTOR_2 0x1c98 294 295 #define RADEON_RB3D_BLENDCNTL 0x1c20 296 # define RADEON_COMB_FCN_ADD_CLAMP (0 << 12) 297 # define RADEON_COMB_FCN_ADD_NOCLAMP (1 << 12) 298 # define RADEON_COMB_FCN_SUB_CLAMP (2 << 12) 299 # define RADEON_COMB_FCN_SUB_NOCLAMP (3 << 12) 300 # define RADEON_SRC_BLEND_GL_ZERO (32 << 16) 301 # define RADEON_SRC_BLEND_GL_ONE (33 << 16) 302 # define RADEON_SRC_BLEND_GL_SRC_COLOR (34 << 16) 303 # define RADEON_SRC_BLEND_GL_ONE_MINUS_SRC_COLOR (35 << 16) 304 # define RADEON_SRC_BLEND_GL_DST_COLOR (36 << 16) 305 # define RADEON_SRC_BLEND_GL_ONE_MINUS_DST_COLOR (37 << 16) 306 # define RADEON_SRC_BLEND_GL_SRC_ALPHA (38 << 16) 307 # define RADEON_SRC_BLEND_GL_ONE_MINUS_SRC_ALPHA (39 << 16) 308 # define RADEON_SRC_BLEND_GL_DST_ALPHA (40 << 16) 309 # define RADEON_SRC_BLEND_GL_ONE_MINUS_DST_ALPHA (41 << 16) 310 # define RADEON_SRC_BLEND_GL_SRC_ALPHA_SATURATE (42 << 16) 311 # define RADEON_SRC_BLEND_MASK (63 << 16) 312 # define RADEON_DST_BLEND_GL_ZERO (32 << 24) 313 # define RADEON_DST_BLEND_GL_ONE (33 << 24) 314 # define RADEON_DST_BLEND_GL_SRC_COLOR (34 << 24) 315 # define RADEON_DST_BLEND_GL_ONE_MINUS_SRC_COLOR (35 << 24) 316 # define RADEON_DST_BLEND_GL_DST_COLOR (36 << 24) 317 # define RADEON_DST_BLEND_GL_ONE_MINUS_DST_COLOR (37 << 24) 318 # define RADEON_DST_BLEND_GL_SRC_ALPHA (38 << 24) 319 # define RADEON_DST_BLEND_GL_ONE_MINUS_SRC_ALPHA (39 << 24) 320 # define RADEON_DST_BLEND_GL_DST_ALPHA (40 << 24) 321 # define RADEON_DST_BLEND_GL_ONE_MINUS_DST_ALPHA (41 << 24) 322 # define RADEON_DST_BLEND_MASK (63 << 24) 323 #define RADEON_RB3D_CNTL 0x1c3c 324 # define RADEON_ALPHA_BLEND_ENABLE (1 << 0) 325 # define RADEON_PLANE_MASK_ENABLE (1 << 1) 326 # define RADEON_DITHER_ENABLE (1 << 2) 327 # define RADEON_ROUND_ENABLE (1 << 3) 328 # define RADEON_SCALE_DITHER_ENABLE (1 << 4) 329 # define RADEON_DITHER_INIT (1 << 5) 330 # define RADEON_ROP_ENABLE (1 << 6) 331 # define RADEON_STENCIL_ENABLE (1 << 7) 332 # define RADEON_Z_ENABLE (1 << 8) 333 # define RADEON_DEPTH_XZ_OFFEST_ENABLE (1 << 9) 334 # define RADEON_COLOR_FORMAT_ARGB1555 (3 << 10) 335 # define RADEON_COLOR_FORMAT_RGB565 (4 << 10) 336 # define RADEON_COLOR_FORMAT_ARGB8888 (6 << 10) 337 # define RADEON_COLOR_FORMAT_RGB332 (7 << 10) 338 # define RADEON_COLOR_FORMAT_Y8 (8 << 10) 339 # define RADEON_COLOR_FORMAT_RGB8 (9 << 10) 340 # define RADEON_COLOR_FORMAT_YUV422_VYUY (11 << 10) 341 # define RADEON_COLOR_FORMAT_YUV422_YVYU (12 << 10) 342 # define RADEON_COLOR_FORMAT_aYUV444 (14 << 10) 343 # define RADEON_COLOR_FORMAT_ARGB4444 (15 << 10) 344 # define RADEON_CLRCMP_FLIP_ENABLE (1 << 14) 345 # define RADEON_ZBLOCK8 (0 << 15) 346 # define RADEON_ZBLOCK16 (1 << 15) 347 #define RADEON_RB3D_COLOROFFSET 0x1c40 348 # define RADEON_COLOROFFSET_MASK 0xfffffff0 349 #define RADEON_RB3D_COLORPITCH 0x1c48 350 # define RADEON_COLORPITCH_MASK 0x000001ff8 351 # define RADEON_COLOR_TILE_ENABLE (1 << 16) 352 # define RADEON_COLOR_MICROTILE_ENABLE (1 << 17) 353 # define RADEON_COLOR_ENDIAN_NO_SWAP (0 << 18) 354 # define RADEON_COLOR_ENDIAN_WORD_SWAP (1 << 18) 355 # define RADEON_COLOR_ENDIAN_DWORD_SWAP (2 << 18) 356 #define RADEON_RB3D_DEPTHOFFSET 0x1c24 357 #define RADEON_RB3D_DEPTHPITCH 0x1c28 358 # define RADEON_DEPTHPITCH_MASK 0x00001ff8 359 # define RADEON_DEPTH_ENDIAN_NO_SWAP (0 << 18) 360 # define RADEON_DEPTH_ENDIAN_WORD_SWAP (1 << 18) 361 # define RADEON_DEPTH_ENDIAN_DWORD_SWAP (2 << 18) 362 #define RADEON_RB3D_PLANEMASK 0x1d84 363 #define RADEON_RB3D_ROPCNTL 0x1d80 364 #define RADEON_RB3D_STENCILREFMASK 0x1d7c 365 # define RADEON_STENCIL_REF_SHIFT 0 366 # define RADEON_STENCIL_MASK_SHIFT 16 367 # define RADEON_STENCIL_WRITEMASK_SHIFT 24 368 #define RADEON_RB3D_ZSTENCILCNTL 0x1c2c 369 # define RADEON_DEPTH_FORMAT_MASK (0xf << 0) 370 # define RADEON_DEPTH_FORMAT_16BIT_INT_Z (0 << 0) 371 # define RADEON_DEPTH_FORMAT_24BIT_INT_Z (2 << 0) 372 # define RADEON_DEPTH_FORMAT_24BIT_FLOAT_Z (3 << 0) 373 # define RADEON_DEPTH_FORMAT_32BIT_INT_Z (4 << 0) 374 # define RADEON_DEPTH_FORMAT_32BIT_FLOAT_Z (5 << 0) 375 # define RADEON_DEPTH_FORMAT_16BIT_FLOAT_W (7 << 0) 376 # define RADEON_DEPTH_FORMAT_24BIT_FLOAT_W (9 << 0) 377 # define RADEON_DEPTH_FORMAT_32BIT_FLOAT_W (11 << 0) 378 # define RADEON_Z_TEST_NEVER (0 << 4) 379 # define RADEON_Z_TEST_LESS (1 << 4) 380 # define RADEON_Z_TEST_LEQUAL (2 << 4) 381 # define RADEON_Z_TEST_EQUAL (3 << 4) 382 # define RADEON_Z_TEST_GEQUAL (4 << 4) 383 # define RADEON_Z_TEST_GREATER (5 << 4) 384 # define RADEON_Z_TEST_NEQUAL (6 << 4) 385 # define RADEON_Z_TEST_ALWAYS (7 << 4) 386 # define RADEON_Z_TEST_MASK (7 << 4) 387 # define RADEON_HIERARCHICAL_Z_ENABLE (1 << 8) 388 # define RADEON_STENCIL_TEST_NEVER (0 << 12) 389 # define RADEON_STENCIL_TEST_LESS (1 << 12) 390 # define RADEON_STENCIL_TEST_LEQUAL (2 << 12) 391 # define RADEON_STENCIL_TEST_EQUAL (3 << 12) 392 # define RADEON_STENCIL_TEST_GEQUAL (4 << 12) 393 # define RADEON_STENCIL_TEST_GREATER (5 << 12) 394 # define RADEON_STENCIL_TEST_NEQUAL (6 << 12) 395 # define RADEON_STENCIL_TEST_ALWAYS (7 << 12) 396 # define RADEON_STENCIL_S_FAIL_KEEP (0 << 16) 397 # define RADEON_STENCIL_S_FAIL_ZERO (1 << 16) 398 # define RADEON_STENCIL_S_FAIL_REPLACE (2 << 16) 399 # define RADEON_STENCIL_S_FAIL_INC (3 << 16) 400 # define RADEON_STENCIL_S_FAIL_DEC (4 << 16) 401 # define RADEON_STENCIL_S_FAIL_INVERT (5 << 16) 402 # define RADEON_STENCIL_ZPASS_KEEP (0 << 20) 403 # define RADEON_STENCIL_ZPASS_ZERO (1 << 20) 404 # define RADEON_STENCIL_ZPASS_REPLACE (2 << 20) 405 # define RADEON_STENCIL_ZPASS_INC (3 << 20) 406 # define RADEON_STENCIL_ZPASS_DEC (4 << 20) 407 # define RADEON_STENCIL_ZPASS_INVERT (5 << 20) 408 # define RADEON_STENCIL_ZFAIL_KEEP (0 << 20) 409 # define RADEON_STENCIL_ZFAIL_ZERO (1 << 20) 410 # define RADEON_STENCIL_ZFAIL_REPLACE (2 << 20) 411 # define RADEON_STENCIL_ZFAIL_INC (3 << 20) 412 # define RADEON_STENCIL_ZFAIL_DEC (4 << 20) 413 # define RADEON_STENCIL_ZFAIL_INVERT (5 << 20) 414 # define RADEON_Z_COMPRESSION_ENABLE (1 << 28) 415 # define RADEON_FORCE_Z_DIRTY (1 << 29) 416 # define RADEON_Z_WRITE_ENABLE (1 << 30) 417 # define RADEON_Z_DECOMPRESSION_ENABLE (1 << 31) 418 #define RADEON_RE_LINE_PATTERN 0x1cd0 419 # define RADEON_LINE_PATTERN_MASK 0x0000ffff 420 # define RADEON_LINE_REPEAT_COUNT_SHIFT 16 421 # define RADEON_LINE_PATTERN_START_SHIFT 24 422 # define RADEON_LINE_PATTERN_LITTLE_BIT_ORDER (0 << 28) 423 # define RADEON_LINE_PATTERN_BIG_BIT_ORDER (1 << 28) 424 # define RADEON_LINE_PATTERN_AUTO_RESET (1 << 29) 425 #define RADEON_RE_LINE_STATE 0x1cd4 426 # define RADEON_LINE_CURRENT_PTR_SHIFT 0 427 # define RADEON_LINE_CURRENT_COUNT_SHIFT 8 428 #define RADEON_RE_MISC 0x26c4 429 # define RADEON_STIPPLE_COORD_MASK 0x1f 430 # define RADEON_STIPPLE_X_OFFSET_SHIFT 0 431 # define RADEON_STIPPLE_X_OFFSET_MASK (0x1f << 0) 432 # define RADEON_STIPPLE_Y_OFFSET_SHIFT 8 433 # define RADEON_STIPPLE_Y_OFFSET_MASK (0x1f << 8) 434 # define RADEON_STIPPLE_LITTLE_BIT_ORDER (0 << 16) 435 # define RADEON_STIPPLE_BIG_BIT_ORDER (1 << 16) 436 #define RADEON_RE_SOLID_COLOR 0x1c1c 437 #define RADEON_RE_TOP_LEFT 0x26c0 438 # define RADEON_RE_LEFT_SHIFT 0 439 # define RADEON_RE_TOP_SHIFT 16 440 #define RADEON_RE_WIDTH_HEIGHT 0x1c44 441 # define RADEON_RE_WIDTH_SHIFT 0 442 # define RADEON_RE_HEIGHT_SHIFT 16 443 444 #define RADEON_SE_CNTL 0x1c4c 445 # define RADEON_FFACE_CULL_CW (0 << 0) 446 # define RADEON_FFACE_CULL_CCW (1 << 0) 447 # define RADEON_FFACE_CULL_DIR_MASK (1 << 0) 448 # define RADEON_BFACE_CULL (0 << 1) 449 # define RADEON_BFACE_SOLID (3 << 1) 450 # define RADEON_FFACE_CULL (0 << 3) 451 # define RADEON_FFACE_SOLID (3 << 3) 452 # define RADEON_FFACE_CULL_MASK (3 << 3) 453 # define RADEON_BADVTX_CULL_DISABLE (1 << 5) 454 # define RADEON_FLAT_SHADE_VTX_0 (0 << 6) 455 # define RADEON_FLAT_SHADE_VTX_1 (1 << 6) 456 # define RADEON_FLAT_SHADE_VTX_2 (2 << 6) 457 # define RADEON_FLAT_SHADE_VTX_LAST (3 << 6) 458 # define RADEON_DIFFUSE_SHADE_SOLID (0 << 8) 459 # define RADEON_DIFFUSE_SHADE_FLAT (1 << 8) 460 # define RADEON_DIFFUSE_SHADE_GOURAUD (2 << 8) 461 # define RADEON_DIFFUSE_SHADE_MASK (3 << 8) 462 # define RADEON_ALPHA_SHADE_SOLID (0 << 10) 463 # define RADEON_ALPHA_SHADE_FLAT (1 << 10) 464 # define RADEON_ALPHA_SHADE_GOURAUD (2 << 10) 465 # define RADEON_ALPHA_SHADE_MASK (3 << 10) 466 # define RADEON_SPECULAR_SHADE_SOLID (0 << 12) 467 # define RADEON_SPECULAR_SHADE_FLAT (1 << 12) 468 # define RADEON_SPECULAR_SHADE_GOURAUD (2 << 12) 469 # define RADEON_SPECULAR_SHADE_MASK (3 << 12) 470 # define RADEON_FOG_SHADE_SOLID (0 << 14) 471 # define RADEON_FOG_SHADE_FLAT (1 << 14) 472 # define RADEON_FOG_SHADE_GOURAUD (2 << 14) 473 # define RADEON_FOG_SHADE_MASK (3 << 14) 474 # define RADEON_ZBIAS_ENABLE_POINT (1 << 16) 475 # define RADEON_ZBIAS_ENABLE_LINE (1 << 17) 476 # define RADEON_ZBIAS_ENABLE_TRI (1 << 18) 477 # define RADEON_WIDELINE_ENABLE (1 << 20) 478 # define RADEON_VPORT_XY_XFORM_ENABLE (1 << 24) 479 # define RADEON_VPORT_Z_XFORM_ENABLE (1 << 25) 480 # define RADEON_VTX_PIX_CENTER_D3D (0 << 27) 481 # define RADEON_VTX_PIX_CENTER_OGL (1 << 27) 482 # define RADEON_ROUND_MODE_TRUNC (0 << 28) 483 # define RADEON_ROUND_MODE_ROUND (1 << 28) 484 # define RADEON_ROUND_MODE_ROUND_EVEN (2 << 28) 485 # define RADEON_ROUND_MODE_ROUND_ODD (3 << 28) 486 # define RADEON_ROUND_PREC_16TH_PIX (0 << 30) 487 # define RADEON_ROUND_PREC_8TH_PIX (1 << 30) 488 # define RADEON_ROUND_PREC_4TH_PIX (2 << 30) 489 # define RADEON_ROUND_PREC_HALF_PIX (3 << 30) 490 #define RADEON_SE_CNTL_STATUS 0x2140 491 # define RADEON_VC_NO_SWAP (0 << 0) 492 # define RADEON_VC_16BIT_SWAP (1 << 0) 493 # define RADEON_VC_32BIT_SWAP (2 << 0) 494 # define RADEON_VC_HALF_DWORD_SWAP (3 << 0) 495 # define RADEON_TCL_BYPASS (1 << 8) 496 #define RADEON_SE_COORD_FMT 0x15c0 497 # define RADEON_VTX_XY_PRE_MULT_1_OVER_W0 (1 << 0) 498 # define RADEON_VTX_Z_PRE_MULT_1_OVER_W0 (1 << 1) 499 # define RADEON_VTX_ST0_NONPARAMETRIC (1 << 8) 500 # define RADEON_VTX_ST1_NONPARAMETRIC (1 << 9) 501 # define RADEON_VTX_ST2_NONPARAMETRIC (1 << 10) 502 # define RADEON_VTX_ST3_NONPARAMETRIC (1 << 11) 503 # define RADEON_VTX_W0_NORMALIZE (1 << 12) 504 # define RADEON_VTX_W0_IS_NOT_1_OVER_W0 (1 << 16) 505 # define RADEON_VTX_ST0_PRE_MULT_1_OVER_W0 (1 << 17) 506 # define RADEON_VTX_ST1_PRE_MULT_1_OVER_W0 (1 << 19) 507 # define RADEON_VTX_ST2_PRE_MULT_1_OVER_W0 (1 << 21) 508 # define RADEON_VTX_ST3_PRE_MULT_1_OVER_W0 (1 << 23) 509 # define RADEON_TEX1_W_ROUTING_USE_W0 (0 << 26) 510 # define RADEON_TEX1_W_ROUTING_USE_Q1 (1 << 26) 511 #define RADEON_SE_LINE_WIDTH 0x1db8 512 #define RADEON_SE_TCL_LIGHT_MODEL_CTL 0x226c 513 #define RADEON_SE_TCL_MATERIAL_AMBIENT_RED 0x2220 514 #define RADEON_SE_TCL_MATERIAL_AMBIENT_GREEN 0x2224 515 #define RADEON_SE_TCL_MATERIAL_AMBIENT_BLUE 0x2228 516 #define RADEON_SE_TCL_MATERIAL_AMBIENT_ALPHA 0x222c 517 #define RADEON_SE_TCL_MATERIAL_DIFFUSE_RED 0x2230 518 #define RADEON_SE_TCL_MATERIAL_DIFFUSE_GREEN 0x2234 519 #define RADEON_SE_TCL_MATERIAL_DIFFUSE_BLUE 0x2238 520 #define RADEON_SE_TCL_MATERIAL_DIFFUSE_ALPHA 0x223c 521 #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_RED 0x2210 522 #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_GREEN 0x2214 523 #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_BLUE 0x2218 524 #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_ALPHA 0x221c 525 #define RADEON_SE_TCL_MATERIAL_SPECULAR_RED 0x2240 526 #define RADEON_SE_TCL_MATERIAL_SPECULAR_GREEN 0x2244 527 #define RADEON_SE_TCL_MATERIAL_SPECULAR_BLUE 0x2248 528 #define RADEON_SE_TCL_MATERIAL_SPECULAR_ALPHA 0x224c 529 #define RADEON_SE_TCL_MATRIX_SELECT_0 0x225c 530 #define RADEON_SE_TCL_MATRIX_SELECT_1 0x2260 531 #define RADEON_SE_TCL_OUTPUT_VTX_FMT 0x2254 532 #define RADEON_SE_TCL_OUTPUT_VTX_SEL 0x2258 533 #define RADEON_SE_TCL_PER_LIGHT_CTL_0 0x2270 534 #define RADEON_SE_TCL_PER_LIGHT_CTL_1 0x2274 535 #define RADEON_SE_TCL_PER_LIGHT_CTL_2 0x2278 536 #define RADEON_SE_TCL_PER_LIGHT_CTL_3 0x227c 537 #define RADEON_SE_TCL_SHININESS 0x2250 538 #define RADEON_SE_TCL_TEXTURE_PROC_CTL 0x2268 539 #define RADEON_SE_TCL_UCP_VERT_BLEND_CTL 0x2264 540 #define RADEON_SE_VPORT_XSCALE 0x1d98 541 #define RADEON_SE_VPORT_XOFFSET 0x1d9c 542 #define RADEON_SE_VPORT_YSCALE 0x1da0 543 #define RADEON_SE_VPORT_YOFFSET 0x1da4 544 #define RADEON_SE_VPORT_ZSCALE 0x1da8 545 #define RADEON_SE_VPORT_ZOFFSET 0x1dac 546 547 #define RADEON_CP_VC_FRMT_XY 0x00000000 548 #define RADEON_CP_VC_FRMT_W0 0x00000001 549 #define RADEON_CP_VC_FRMT_FPCOLOR 0x00000002 550 #define RADEON_CP_VC_FRMT_FPALPHA 0x00000004 551 #define RADEON_CP_VC_FRMT_PKCOLOR 0x00000008 552 #define RADEON_CP_VC_FRMT_FPSPEC 0x00000010 553 #define RADEON_CP_VC_FRMT_FPFOG 0x00000020 554 #define RADEON_CP_VC_FRMT_PKSPEC 0x00000040 555 #define RADEON_CP_VC_FRMT_ST0 0x00000080 556 #define RADEON_CP_VC_FRMT_ST1 0x00000100 557 #define RADEON_CP_VC_FRMT_Q1 0x00000200 558 #define RADEON_CP_VC_FRMT_ST2 0x00000400 559 #define RADEON_CP_VC_FRMT_Q2 0x00000800 560 #define RADEON_CP_VC_FRMT_ST3 0x00001000 561 #define RADEON_CP_VC_FRMT_Q3 0x00002000 562 #define RADEON_CP_VC_FRMT_Q0 0x00004000 563 #define RADEON_CP_VC_FRMT_BLND_WEIGHT_CNT_MASK 0x00038000 564 #define RADEON_CP_VC_FRMT_N0 0x00040000 565 #define RADEON_CP_VC_FRMT_XY1 0x08000000 566 #define RADEON_CP_VC_FRMT_Z1 0x10000000 567 #define RADEON_CP_VC_FRMT_W1 0x20000000 568 #define RADEON_CP_VC_FRMT_N1 0x40000000 569 #define RADEON_CP_VC_FRMT_Z 0x80000000 570 571 #define RADEON_CP_VC_CNTL_PRIM_TYPE_NONE 0x00000000 572 #define RADEON_CP_VC_CNTL_PRIM_TYPE_POINT 0x00000001 573 #define RADEON_CP_VC_CNTL_PRIM_TYPE_LINE 0x00000002 574 #define RADEON_CP_VC_CNTL_PRIM_TYPE_LINE_STRIP 0x00000003 575 #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_LIST 0x00000004 576 #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN 0x00000005 577 #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_STRIP 0x00000006 578 #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_TYPE2 0x00000007 579 #define RADEON_CP_VC_CNTL_PRIM_TYPE_RECT_LIST 0x00000008 580 #define RADEON_CP_VC_CNTL_PRIM_TYPE_3VRT_POINT_LIST 0x00000009 581 #define RADEON_CP_VC_CNTL_PRIM_TYPE_3VRT_LINE_LIST 0x0000000a 582 #define RADEON_CP_VC_CNTL_PRIM_WALK_IND 0x00000010 583 #define RADEON_CP_VC_CNTL_PRIM_WALK_LIST 0x00000020 584 #define RADEON_CP_VC_CNTL_PRIM_WALK_RING 0x00000030 585 #define RADEON_CP_VC_CNTL_COLOR_ORDER_BGRA 0x00000000 586 #define RADEON_CP_VC_CNTL_COLOR_ORDER_RGBA 0x00000040 587 #define RADEON_CP_VC_CNTL_MAOS_ENABLE 0x00000080 588 #define RADEON_CP_VC_CNTL_VTX_FMT_NON_RADEON_MODE 0x00000000 589 #define RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE 0x00000100 590 #define RADEON_CP_VC_CNTL_NUM_SHIFT 16 591 592 593 #endif 594