- Move some code around to minimize diff noise
- Add mmx ops from pixman that never made it into X
- Merge Jeff Muizelaar's bugfixes to fbCompositeSrc_8888x8x8888mmx and
fbCompositeSrc_x888x8x8888mmx.
Fix up the fast-path compositing operators; those are useful for
sources without alpha, but can't be used for sources with
alpha. Also, replaced fbCompositeSrcSrc_nxn with call to fbBlt as
this function must handle 1, 4, 8, 16, 24, 32 bpp objects. Would
be nice to optimize fbBlt for common cases involving 8, 16, 24 and
32bpp.
From Keith Packard.
* Port fix for bug 7685 from pixman. Patch by Carl Worth
* Add projective version of radial gradient code.
* Make sure that all Pict*Gradient types have PictGradient as prefix,
since code in various places relies on that.
Previously the gradient walker was doing excessive resets, (such
as on every pixel in constant-colored regions or outside the
gradient with CAIRO_EXTEND_NONE). Don't do that.
Carl Worth, from pixman
Now, fbcmap_mi.c contains the fb functions which just wrap mi functions.
Previously, these were in fbcmap.c and compiled when XFree86Server was defined.
Now, clients of fbcmap should either use fbcmap.c or fbcmap_mi.c and not worry
about setting the XFree86Server symbol.
Use the READ and WRITE macros to wrap memory accesses that could be in video
memory. Add MEMCPY_WRAPPED and MEMSET_WRAPPED macros to wrap memcpy and
memset, respectively.
Pass the size of the data pointed to by src or dst as an argument to
wfb{Read,Write}Memory. This allows one set of macros to be used with any size
pointer. Assumes that sizeof(FbBits) >= sizeof(FbStip).
Create fbPrepareAccess macros to call into the driver to set up the
wfbReadMemory and wfbWriteWemory pointers. Call these from fbGetDrawable and
fbGetStipDrawable.
Add the READ and WRITE macros, which expand to simple memory accesses for fb,
and calls through the function pointers for wfb.
Add fbFinishAccess macro to give the driver an opportunity to clean up. Add
calls to this in the appropriate places.
For now, just #define all of the exported symbols in wfbrename.h. Later,
we should add FBPREFIX() around the exported symbols and use -fvisiblity=hidden
to hide the rest.
Builds fb/* twice, defining FB_ACCESS_WRAPPER for libwfb.la. Define a macro,
FBPREFIX(X) which expands to fbX for libfb.la and wfbX for libwfb.la. Use the
macro on [w]fbModuleData so the new module loads.
Get rid of almost all uses of these definitions. They're still defined for
delinquent out-of-tree drivers, and also for the Mesa build. As well as
for miinitext.c. But largely gone.