1 #include "xorg_composite.h"
3 struct xorg_composite_blend
{
6 unsigned rgb_src_factor
:5; /**< PIPE_BLENDFACTOR_x */
7 unsigned rgb_dst_factor
:5; /**< PIPE_BLENDFACTOR_x */
9 unsigned alpha_src_factor
:5; /**< PIPE_BLENDFACTOR_x */
10 unsigned alpha_dst_factor
:5; /**< PIPE_BLENDFACTOR_x */
13 static const struct xorg_composite_blend xorg_blends
[] = {
15 PIPE_BLENDFACTOR_CONST_COLOR
, PIPE_BLENDFACTOR_CONST_ALPHA
,
16 PIPE_BLENDFACTOR_ZERO
, PIPE_BLENDFACTOR_ZERO
},
19 PIPE_BLENDFACTOR_ONE
, PIPE_BLENDFACTOR_ONE
,
20 PIPE_BLENDFACTOR_ZERO
, PIPE_BLENDFACTOR_ZERO
},
23 PIPE_BLENDFACTOR_ZERO
, PIPE_BLENDFACTOR_ZERO
,
24 PIPE_BLENDFACTOR_ONE
, PIPE_BLENDFACTOR_ONE
},
27 PIPE_BLENDFACTOR_SRC_ALPHA
, PIPE_BLENDFACTOR_ONE
,
28 PIPE_BLENDFACTOR_INV_SRC_ALPHA
, PIPE_BLENDFACTOR_INV_SRC_ALPHA
},
31 PIPE_BLENDFACTOR_SRC_ALPHA
, PIPE_BLENDFACTOR_ONE
,
32 PIPE_BLENDFACTOR_INV_SRC_ALPHA
, PIPE_BLENDFACTOR_INV_SRC_ALPHA
},
35 boolean
xorg_composite_accelerated(int op
,
36 PicturePtr pSrcPicture
,
37 PicturePtr pMaskPicture
,
38 PicturePtr pDstPicture
)
43 boolean
xorg_composite_bind_state(struct exa_context
*exa
,
45 PicturePtr pSrcPicture
,
46 PicturePtr pMaskPicture
,
47 PicturePtr pDstPicture
)
52 void xorg_composite(struct exa_context
*exa
,
53 struct exa_pixmap_priv
*dst
,
54 int srcX
, int srcY
, int maskX
, int maskY
,
55 int dstX
, int dstY
, int width
, int height
)