Commit Graph

106 Commits

Author SHA1 Message Date
Soren Sandmann Pedersen
c5ef84c325 Make the general compositing code create a pixman image and call
pixman_image_composite(). Leave the general code commented out for now.
2007-05-18 14:06:21 -04:00
Soren Sandmann Pedersen
3da842bf93 Revert various fast path functions to their pre-pixman-merge state
since they fail rendercheck. Remove their associated macros.

See bug 10903.
2007-05-15 14:57:14 -04:00
Soren Sandmann Pedersen
d2f813f7db New fbWalkCompositeRegion() function
This new function walks the composite region and calls a rectangle
compositing function on each compositing rectangle. Previously there
were buggy duplicates of this code in fbcompose.c and
miext/rootles/safealpha/safeAlphaPicture.c.
2007-05-03 12:17:24 -04:00
Soren Sandmann Pedersen
e0959adcd8 Add fbCompositeRect() as another special case in the switch of doom in fbpict.c
This is phase one of getting the two region walkers in fbcompose.c and
fbpict.c merged together.
2007-05-03 12:17:24 -04:00
Michel Dänzer
5e4b3232da Fix fbCompositeTrans_0888xnx0888 build for wfb on big endian. 2007-04-29 23:38:22 +02:00
Michel Dänzer
2866e0bac9 Fix a couple of picture repeat fields incorrectly compared to RepeatNormal. 2007-04-29 23:38:13 +02:00
Soren Sandmann Pedersen
0ff7c94fcf Pixman merge
Make use of fbCompositeSrcAdd_8888x8x8mmx
2007-04-26 10:56:02 -04:00
Soren Sandmann Pedersen
701ccb4a22 Pixman merge
- Remove stray default label

- Integrate new MMX ops SolidMaskSrc_nx8x8888mmx, In_8x8mmx, and
  In_nx8x8mmx

- Formatting changes to reduce diff noise
2007-04-26 10:49:06 -04:00
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
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
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
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
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
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
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
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Eric Anholt
5542665041 Clean up gcc warnings from picture format CARD32 -> enum change. 2006-06-19 15:11:56 -07:00
Matthias Hopf
9e239a0df7 Bug #5796: Wrong fastpath selection for repeating sources. 2006-05-11 11:23:43 +00:00
Eric Anholt
c3d1403672 Remove libcwrapper usage from xorg server modules. The libcwrapper is only
of (marginal) use in the drivers, and that usage remains.
2006-02-10 22:00:30 +00:00
Adam Jackson
b37e738d5f Fix an fb regression on A8 pictures. (Fredrik Höglund) 2005-12-20 21:40:19 +00:00
Adam Jackson
4ec0b623b6 Bug #5093: Fix fb for non-SSE machines. (Xavier Bachelot) 2005-11-30 02:36:25 +00:00
Eric Anholt
e321f9e7ff Apply the xserver patch from vektor for bug #4208: Use NULL for pointers
instead of 0.
2005-08-30 03:01:38 +00:00
Alan Coopersmith
7c84189ea1 Bugzilla #3566 <https://bugs.freedesktop.org/show_bug.cgi?id=3566> Patch
#2906 <https://bugs.freedesktop.org/attachment.cgi?id=2906> Fix for
    RENDER, repeating pictures and offscreen memory (Owen Taylor)
2005-08-01 22:22:16 +00:00
Lars Knoll
41002623f3 Add MMX Code paths for the basic composition operations in
fbComposeGeneral.
2005-07-12 10:02:10 +00:00
Daniel Stone
e03198972c Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings.
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
    source files in the xserver/xorg tree, predicated on defines of
    HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
    <X11/fonts/foo.h>.
2005-07-03 07:02:09 +00:00
Lars Knoll
b5b2a0522e Add support for gradients and solid fills to Render.
Changed the semantics of the Convolution filter a bit. It now doesn't try
    to normalize the filter values but leaves this to the client. This
    gives more reasonable behaviour in the limit where the filter
    parameters sum up to 0.
2005-07-01 10:05:43 +00:00
Lars Knoll
49476ca73c add the convolution filter from xserver to xorg 2005-06-13 14:40:25 +00:00
Adam Jackson
2de24db63e Render performance improvements. (Lars Knoll, Zack Rusin) 2005-05-08 23:34:15 +00:00
Søren Sandmann Pedersen
476ae15640 Sat Mar 26 18:49:21 2005 Soeren Sandmann <sandmann@redhat.com>
programs/Xserver/fb/fbmmx.h
New function.
Hook it up here
2005-03-26 23:50:24 +00:00
Adam Jackson
79a7120983 Bug #1895: Fix fbComposeGetSolid for BGR. (David S. Miller) 2005-01-16 01:59:23 +00:00
Søren Sandmann Pedersen
7db2e666e2 Fri Jan 14 11:12:46 2005 Søren Sandmann <sandmann@redhat.com>
Use mmx CopyArea in a few more places.
2005-01-14 21:56:51 +00:00
Søren Sandmann Pedersen
433c38f22f Thu Jan 13 15:40:29 2005 Søren Sandmann <sandmann@redhat.com>
Add MMX implementation of non-repeating source IN repeating mask, aka
    "translucent window".
Add MMX implementation of CopyArea.
Use MMX implementation of CopyArea.
Use the new implementations.
2005-01-13 20:49:21 +00:00
Søren Sandmann Pedersen
af8bd71617 Mon Jan 3 12:45:10 2005 Søren Sandmann <sandmann@redhat.com>
Clean-ups and support for AMD64. Bug 1067. Patch by Nicholas Miell
    (nmiell@comcast.net)
Add support for AMD64
Many cleanups using <mmintrin.h> instead of __builin_ia32_*, and intrinsics
    instead of inline assembly. Also unconditionally use pshufw on AMD64.
s/USE_GCC34_MMX/USE_MMX/g
2005-01-03 21:32:22 +00:00
Markus Kuhn
44f4713a05 Encoding of numerous files changed to UTF-8 2004-12-04 00:43:13 +00:00
Keith Packard
196aafb19a Add RenderAddTraps. Rewrite trapezoid rendering code. 2004-08-06 23:42:10 +00:00
Søren Sandmann Pedersen
cc3e0173d9 Thu Jul 22 20:03:11 2004 Soeren Sandmann <sandmann@daimi.au.dk>
Call MMX solid fill routine when available.
Call MMX operations when available.
New HasGcc34 macro
New file with many operations implemented with MMX intrinsics, conditional
    on having GCC 3.4 on i386.
2004-07-22 19:24:50 +00:00
Eric Anholt
4078457919 Fix problems in render fb implementation found by rendercheck:
- fbCombineSaturate was pointed at fbCombineDisjointOver, instead of
    fbCombineDisjointOverReverse as it should. Instead, point
    fbCombineDisjointOverReverse at fbCombineSaturate (which is likely to
    be faster).
- fix previously-unused fbCombineSaturate implementation.
- fbCombineMaskAlphaC was just a copy of fbCombineMaskValueC. Make it do
    what it's supposed to (return a cs.alpha).
- fbCombineAtopC didn't invert the source alpha value.
- fix copy'n'paste errors in fbCombine(Dis/Con)jointGeneralC, also source
    alpha wasn't treated in a component fashion.
- fbCompositeSrc_8888* didn't handle when the source lacks an alpha
    channel. Rather than adding that and possilby slowing down the (normal)
    alpha case, don't let x8r8g8b8/x8b8g8r8 Pictures be used in
    fbCompositeSrc_8888* because Over with one of these is just Src.
2004-05-12 01:49:46 +00:00
Egbert Eich
2fb5886200 Merging XORG-CURRENT into trunk 2004-04-23 19:54:30 +00:00
Egbert Eich
dae90c3af9 Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 2004-03-14 08:34:49 +00:00
Egbert Eich
867451f1ab Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 2004-03-03 12:12:50 +00:00
Egbert Eich
df0313d35b readding XFree86's cvs IDs 2004-02-26 13:36:15 +00:00
Egbert Eich
147aae87fd Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 2004-02-26 09:23:53 +00:00
Kaleb Keithley
9508a382f8 Initial revision 2003-11-14 16:48:57 +00:00