1 /// Define the A vector polynomial bits
2 // Each bit corresponds to one of the terms in the polynomial
4 // Rop(D,S,P) = a + a D + a S + a P + a DS + a DP + a SP + a DSP
5 // 0 d s p ds dp sp dsp
16 #define AVEC_NEED_SOURCE (AVEC_S | AVEC_DS | AVEC_SP | AVEC_DSP)
17 #define AVEC_NEED_PATTERN (AVEC_P | AVEC_DP | AVEC_SP | AVEC_DSP)
19 #define BB_TARGET_SCREEN 0x0001
20 #define BB_TARGET_ONLY 0x0002
21 #define BB_SOURCE_COPY 0x0004
22 #define BB_PATTERN_COPY 0x0008
24 #define GET_OPINDEX_FROM_ROP3(Rop3) (((Rop3) >> 16) & 0xff)
25 #define GET_OPINDEX_FROM_ROP4(Rop4) ((Rop4) & 0xff)
26 #define ROP3_TO_ROP4(Rop3) ((((Rop3) >> 8) & 0xff00) | (((Rop3) >> 16) & 0x00ff))
27 #define R3_OPINDEX_SRCCOPY 0xcc
28 #define R3_OPINDEX_NOOP 0xaa
29 #define R4_MASK ((R3_OPINDEX_NOOP << 8) | R3_OPINDEX_SRCCOPY)