Commit Graph

164 Commits

Author SHA1 Message Date
Soren Sandmann Pedersen a54ef54db1 Pixman merge
Make sure fbCompositeSrc_x888x8x8888mmx and fbCompositeSrc_8888x8x8888mmx
are used when possible.
2007-04-26 10:24:25 -04:00
Soren Sandmann Pedersen 3571b8e65b More pixman merging
- 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.
2007-04-26 10:06:47 -04:00
Soren Sandmann Pedersen 67347739b0 Don't treat convolution filters as transformations.
Some rearrangement of code to get it closer to pixman.
2007-04-25 22:22:22 -04:00
Soren Sandmann Pedersen c056ce95d8 Port MSVC++ CPU detection code from pixman. (Vladimir Vukicevic). 2007-04-25 22:22:22 -04:00
Soren Sandmann Pedersen c19ece1d8c Integrate optimization from xserver from David Reveman where repeats
get handled by fbFetchTransformed() rather than in the region walking
code.
2007-04-25 22:22:22 -04:00
Soren Sandmann Pedersen 48c73dfc36 Add function fbCompositeSrcAdd_8888x8x8(), and fix a bug where
srcRepeat = FALSE would be set in the wrong place.
2007-04-25 22:22:22 -04:00
Soren Sandmann Pedersen 66ba3d758a Various fixes from xserver via pixman (Billy Biggs) 2007-04-25 22:22:22 -04:00
Soren Sandmann Pedersen 0a2fe443d2 Use READ/WRITE macros for new functions introduced in previous commits. 2007-04-24 19:02:44 -04:00
Soren Sandmann Pedersen 7e16da7b78 Remove #if 0'ed blocks 2007-04-24 18:15:34 -04:00
Soren Sandmann Pedersen 2d9a7a7687 From pixman (Jeff Muizelaar)
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.
2007-04-24 14:46:59 -04:00
Soren Sandmann Pedersen fde4a5adf0 From xserver via pixman (Jeff Muizelaar)
Add some optimizations from jaymz. Also adds some compile
     warnings that will hopefully go awa y as we continue merging.
2007-04-24 13:30:43 -04:00
Soren Sandmann Pedersen 13e1d5ea55 Fix format vs formatCode in previous commit 2007-04-24 12:59:18 -04:00
Soren Sandmann Pedersen 077a5d4555 Add functions fbCompositeSrcSrc_nxn() and fbCompositeTrans_0565xnx0565
from xserver via pixman. Add READ/WRITE and fbFinishAccess as
appropriate.
2007-04-24 12:57:55 -04:00
Soren Sandmann Pedersen 84838268b3 Gradient fixes
* 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.
2007-04-23 13:19:54 -04:00
Aaron Plattner ca784df84e Fix unbalanced fbGetDrawable added in commit 0a9239ec. 2007-04-22 16:26:01 -07:00
Soren Sandmann Pedersen 55bd8668e7 Remove #if 0'ed leftovers from merge 2007-04-21 17:10:54 -04:00
Soren Sandmann Pedersen 41dd7ab067 Fix gradient walker to not reset needlessly
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
2007-04-21 17:10:54 -04:00
Soren Sandmann Pedersen c1b73f0f2a Fixing gradient repeat mode computations in previous patch. From David
Turner.
2007-04-21 17:10:54 -04:00
Soren Sandmann Pedersen 38f718799c Remove a few memory references in fbFetchTransformed 2007-04-21 17:10:54 -04:00
Soren Sandmann Pedersen 9c4b14d4f6 Integrate David Turner's gradient optimizations from pixman 2007-04-21 17:10:54 -04:00
Soren Sandmann Pedersen 3daa5c1a99 Fix pixman bug 5777, patch by David Reveman 2007-04-20 09:44:25 -04:00
Soren Sandmann Pedersen 0a9239ec25 Merge David Reveman's gradient optimization patch from pixman 2007-04-19 18:19:34 -04:00
Brian 0ee40c9357 s/intead/instead/ 2007-04-03 09:31:00 -06:00
Brian a240c039c4 Split the xserver/fb/fbcmap.c file into two files.
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.
2007-04-03 09:28:21 -06:00
Eamon Walsh a7cd53deb9 remove PIXPRIV checks as this flag is always set. 2007-03-06 17:05:03 -05:00
Soren Sandmann Pedersen 262b9b104a Use the new 8888x0565mmx function in fbpict.c 2007-02-06 17:30:22 -05:00
Soren Sandmann Pedersen 876b806ec0 Reapply patch to fix AMD CPU detection 2007-02-06 17:16:23 -05:00
Soren Sandmann Pedersen 13568d2aa4 Revert "Fix for AMD cpu detection. Bug 9614, Dan Williams."
This reverts commit b2cd3b1337 since
unrelated changes in fbpict.c broke the build.
2007-02-06 17:12:01 -05:00
Soren Sandmann Pedersen 5a33344103 Add new fbCompositeSrc_8888x0565mmx() function, based on patch by Dan
Williams. Bug 9682.
2007-02-06 17:11:01 -05:00
Soren Sandmann Pedersen b2cd3b1337 Fix for AMD cpu detection. Bug 9614, Dan Williams.
Credit for the fixes in this patch goes to:

Marco Gritti <mpg at redhat dot com>
Jordan Crouse <jordan dot crouse at amd dot com>
2007-02-06 16:43:37 -05:00
Eric Anholt 2dc866252c Really fix optimized render cases being hit when they shouldn't.
I don't know how this define slipped in there.  Fixes
6fdfd9dad9.
2007-01-22 08:41:50 +08:00
Keith Packard 028bbdc041 Merge master back to randr-1.2 2006-11-04 17:46:26 -08:00
Keith Packard 2db62bce07 Define fbHasVisualTypes in fb.h as it is exported 2006-11-04 17:40:34 -08:00
Eric Anholt 6fdfd9dad9 Fix several cases where optimized paths were hit when they shouldn't be.
This fixes a number of rendercheck cases.
2006-11-01 14:41:12 -08:00
Alan Coopersmith 357b37b382 Use getisax() instead of asm code to determine available x86 ISA extensions on Solaris 2006-10-18 18:11:06 -07:00
Aaron Plattner 042d4a407d Bug #8459: Don't forget to include AM_CFLAGS in libfb_la_CFLAGS on non-MMX platforms.
Reported by Edgar Toernig.
2006-10-10 13:01:30 -07:00
Alan Coopersmith df800d87e0 Add (void) casts to clear compiler errors about ?: results having type mismatch 2006-10-02 11:28:47 -07:00
Aaron Plattner f9542e7495 Restore the global xx* symbols and add them to wfbrename.h.
I don't think they're ever used, but it's best to just leave them alone for ABI
compatibility.
2006-09-28 13:26:54 -07:00
Aaron Plattner d16e83413e Hide or rename more global symbols to avoid clashes with libfb.
Rename composeFunctions, xxSetup, and xxPrintVisuals.  Hide the other xx*
symbols by making them static.
2006-09-20 12:47:17 -07:00
Aaron Plattner f39fd42429 (unsigned long)(1 << 31) = bad news on x86_64.
(cherry picked from 410e5b1d73 commit)
2006-09-05 15:53:45 -07:00
Aaron Plattner 1c72290cdf Use DrawablePtrs instead of PixmapPtrs for Prepare/Finish access.
Also, define some wfb functions even if FB_ACCESS_WRAPPER is not defined.  This allows a client to use libfb and libwfb at the same time.
2006-08-07 09:57:58 -07:00
Aaron Plattner ee02e64788 Wrap libwfb memory access.
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.
2006-08-01 13:45:43 -07:00
Aaron Plattner a69335dc29 Make ReadMemoryProcPtr take a const pointer.
Fixes some warnings when using READ with a const pointer.
2006-07-31 14:15:55 -07:00
Aaron Plattner e6ae1612be Add fbHasVisualTypes and fbSetVisualTypesAndMasks to wfbrename.h and include -DXFree86Server. 2006-07-27 18:24:59 -07:00
Aaron Plattner 377a581ddf Switch to using void* pointers.
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).
2006-07-26 15:48:51 -07:00
Aaron Plattner a4005c15fb Add framebuffer access wrapper infrastructure.
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.
2006-07-26 15:48:51 -07:00
Aaron Plattner 319efac445 Prefix all of the exported symbols in libwfb.so with "wfb".
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.
2006-07-26 15:48:51 -07:00
Aaron Plattner 7608a63ff7 Build infrastructure for libwfb.so.
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.
2006-07-26 15:48:50 -07:00
Adam Jackson 0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Daniel Stone 84683f19b4 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE
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.
2006-07-18 18:17:38 -04:00