#ifndef _ROP_GENERIC_H_de474978_ #define _ROP_GENERIC_H_de474978_ /* call bzero to zero more than this many bytes; for fewer, do it ourselves */ #define BZERO_MIN 16 /* like BZERO_MIN but wrt memset for 0xff fill */ #define MEMSET_MIN 16 #define ROP_MASK 15 struct rop_area { unsigned char *bits; unsigned int rowbytes; unsigned int w; unsigned int h; } ; #define inline_fill(p,n,f) ({ unsigned char *inline_fill_ptr; unsigned int\ inline_fill_n; unsigned char inline_fill_val; inline_fill_ptr=(p);\ inline_fill_val=(f); for (inline_fill_n=(n);inline_fill_n>0;\ inline_fill_n--) *inline_fill_ptr++=inline_fill_val; }) #if (ROP_SRC != 10) || (ROP_DST != 12) #error Fix rop value assumptions #endif #define ROP(sbit,dbit,rop) (((rop)>>((sbit)+((dbit)*2)))&1) #endif