1002
1001
* - DP4: Use OUTC_DP4, OUTA_DP4
1003
1002
* - DP3: Use OUTC_DP3, OUTA_DP4, appropriate alpha operands
1004
1003
* - DPH: Use OUTC_DP4, OUTA_DP4, appropriate alpha operands
1004
* - CMPH: If ARG2 > 0.5, return ARG0, else return ARG1
1005
1005
* - CMP: If ARG2 < 0, return ARG1, else return ARG0
1006
1006
* - FLR: use FRC+MAD
1007
1007
* - XPD: use MAD+MAD
1244
1245
# define R300_BLEND_ENABLE (1 << 0)
1245
1246
# define R300_BLEND_UNKNOWN (3 << 1)
1246
1247
# define R300_BLEND_NO_SEPARATE (1 << 3)
1247
/* the following are shared between CBLEND and ABLEND */
1248
/* the following are shared between CBLEND and ABLEND */
1248
1249
# define R300_FCN_MASK (3 << 12)
1249
1250
# define R300_COMB_FCN_ADD_CLAMP (0 << 12)
1250
1251
# define R300_COMB_FCN_ADD_NOCLAMP (1 << 12)
1251
1252
# define R300_COMB_FCN_SUB_CLAMP (2 << 12)
1252
1253
# define R300_COMB_FCN_SUB_NOCLAMP (3 << 12)
1253
# define R300_SRC_BLEND_GL_ZERO (32 << 16)
1254
# define R300_SRC_BLEND_GL_ONE (33 << 16)
1255
# define R300_SRC_BLEND_GL_SRC_COLOR (34 << 16)
1256
# define R300_SRC_BLEND_GL_ONE_MINUS_SRC_COLOR (35 << 16)
1257
# define R300_SRC_BLEND_GL_DST_COLOR (36 << 16)
1258
# define R300_SRC_BLEND_GL_ONE_MINUS_DST_COLOR (37 << 16)
1259
# define R300_SRC_BLEND_GL_SRC_ALPHA (38 << 16)
1260
# define R300_SRC_BLEND_GL_ONE_MINUS_SRC_ALPHA (39 << 16)
1261
# define R300_SRC_BLEND_GL_DST_ALPHA (40 << 16)
1262
# define R300_SRC_BLEND_GL_ONE_MINUS_DST_ALPHA (41 << 16)
1263
# define R300_SRC_BLEND_GL_SRC_ALPHA_SATURATE (42 << 16)
1264
# define R300_SRC_BLEND_MASK (63 << 16)
1265
# define R300_DST_BLEND_GL_ZERO (32 << 24)
1266
# define R300_DST_BLEND_GL_ONE (33 << 24)
1267
# define R300_DST_BLEND_GL_SRC_COLOR (34 << 24)
1268
# define R300_DST_BLEND_GL_ONE_MINUS_SRC_COLOR (35 << 24)
1269
# define R300_DST_BLEND_GL_DST_COLOR (36 << 24)
1270
# define R300_DST_BLEND_GL_ONE_MINUS_DST_COLOR (37 << 24)
1271
# define R300_DST_BLEND_GL_SRC_ALPHA (38 << 24)
1272
# define R300_DST_BLEND_GL_ONE_MINUS_SRC_ALPHA (39 << 24)
1273
# define R300_DST_BLEND_GL_DST_ALPHA (40 << 24)
1274
# define R300_DST_BLEND_GL_ONE_MINUS_DST_ALPHA (41 << 24)
1275
# define R300_DST_BLEND_MASK (63 << 24)
1254
# define R300_COMB_FCN_MIN (4 << 12)
1255
# define R300_COMB_FCN_MAX (5 << 12)
1256
# define R300_COMB_FCN_RSUB_CLAMP (6 << 12)
1257
# define R300_COMB_FCN_RSUB_NOCLAMP (7 << 12)
1258
# define R300_BLEND_GL_ZERO (32)
1259
# define R300_BLEND_GL_ONE (33)
1260
# define R300_BLEND_GL_SRC_COLOR (34)
1261
# define R300_BLEND_GL_ONE_MINUS_SRC_COLOR (35)
1262
# define R300_BLEND_GL_DST_COLOR (36)
1263
# define R300_BLEND_GL_ONE_MINUS_DST_COLOR (37)
1264
# define R300_BLEND_GL_SRC_ALPHA (38)
1265
# define R300_BLEND_GL_ONE_MINUS_SRC_ALPHA (39)
1266
# define R300_BLEND_GL_DST_ALPHA (40)
1267
# define R300_BLEND_GL_ONE_MINUS_DST_ALPHA (41)
1268
# define R300_BLEND_GL_SRC_ALPHA_SATURATE (42)
1269
# define R300_BLEND_GL_CONST_COLOR (43)
1270
# define R300_BLEND_GL_ONE_MINUS_CONST_COLOR (44)
1271
# define R300_BLEND_GL_CONST_ALPHA (45)
1272
# define R300_BLEND_GL_ONE_MINUS_CONST_ALPHA (46)
1273
# define R300_BLEND_MASK (63)
1274
# define R300_SRC_BLEND_SHIFT (16)
1275
# define R300_DST_BLEND_SHIFT (24)
1276
1276
#define R300_RB3D_COLORMASK 0x4E0C
1277
1277
# define R300_COLORMASK0_B (1<<0)
1278
1278
# define R300_COLORMASK0_G (1<<1)
1561
1561
/* END: Packet 3 commands */
1564
/* Color formats for 2d packets
1566
#define R300_CP_COLOR_FORMAT_CI8 2
1567
#define R300_CP_COLOR_FORMAT_ARGB1555 3
1568
#define R300_CP_COLOR_FORMAT_RGB565 4
1569
#define R300_CP_COLOR_FORMAT_ARGB8888 6
1570
#define R300_CP_COLOR_FORMAT_RGB332 7
1571
#define R300_CP_COLOR_FORMAT_RGB8 9
1572
#define R300_CP_COLOR_FORMAT_ARGB4444 15
1577
#define R300_CP_CMD_BITBLT_MULTI 0xC0009B00
1563
1580
#endif /* _R300_REG_H */