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
Eric Anholt
12563db59d
Revert "Optimize out computing a gradient pixel if the mask value is 0."
...
This reverts cf46242e33
commit. It wasn't meant
to be pushed to master yet, and doesn't work.
2006-07-03 12:52:27 -07:00
Eric Anholt
cf46242e33
Optimize out computing a gradient pixel if the mask value is 0.
...
Obtained from: kdrive CVS (DavidR XGL fb/ megapatch)
2006-07-03 20:00:50 +02:00
Eric Anholt
63c169e3b1
Fix MMX Saturate implementation.
...
The code was expanding the source blend factor from the wrong channel. Fixes
cairo's clip-operator test.
2006-06-27 04:14:03 +02:00
Eric Anholt
c7ac485a59
Remove the default case from fbcompose.c switches which should cover all cases.
...
Instead, stick the NULL return default case afterwards, so that the compiler can
warn us when we've got unimplemented cases. Removes some unimplemented and
unused 8bpp, depth 4 picture format names.
2006-06-23 13:56:20 -07:00
Kristian Høgsberg
ed18d776f0
Fix #2488 for fb too: sample pixel center when transforming.
2006-06-21 16:22:14 -04:00
Kristan Høgsberg
4365d16c86
Pull over convolution filter fixes from xgl-0-0-1 branch.
...
Cherry-picking patches:
8a5ea68800
and
4d755fe142
2006-06-19 22:21:49 -04:00
Eric Anholt
569c808a23
Fix crash when using PICT_x4a4 by supplying an appropriate fbFetchPixel_x4a4.
2006-06-19 16:42:09 -07:00
Eric Anholt
5542665041
Clean up gcc warnings from picture format CARD32 -> enum change.
2006-06-19 15:11:56 -07:00
Eric Anholt
e793f0eeee
Correct component ordering when fetching [ax]4b4g4r4 pixels.
...
Noticed by: rendercheck
2006-06-19 15:11:55 -07:00
Adam Jackson
7893dadb2f
Bug #6827 : Fix texel fetch in fbFetchTransformed to avoid crashes. Still
...
not 100% correct, but better than 7.0. (Radek Doulik, Matthias Hopf)
2006-05-18 14:39:59 +00:00
Matthias Hopf
9e239a0df7
Bug #5796 : Wrong fastpath selection for repeating sources.
2006-05-11 11:23:43 +00:00
Adam Jackson
291e89d4f2
Remove NEED_LINEHELPER BC cruft for pre-R6 DDXes.
2006-04-30 19:16:14 +00:00
Keith Packard
b37c515320
Add support for x4a4 format (depth 4 at 8bpp). Bug #6325 .
2006-04-19 21:56:13 +00:00
Keith Packard
5dacc82232
Coverity #333 , #334 - eliminate unncessary test for always true condition
...
in fbEvenStipple.
2006-04-07 02:20:11 +00:00
Ian Romanick
383c2e1e9e
Include fbmmx.h in fb/fbwindow.c when USE_MMX is defined. Fixes build
...
problem on x86-64 resulting from fbHaveMMX being a macro instead of a
function on that platform.
2006-04-05 19:52:12 +00:00
Adam Jackson
d9b8bfbfaf
Bug #5478 : More use of fbSOlidFillmmx. (Jim Huang)
2006-04-03 21:16:30 +00:00
Adam Jackson
b0e6778265
Bug #6346 : Build fix when using gcc -mno-sse. (Jonathan Adamczewski)
2006-04-03 19:50:15 +00:00
Søren Sandmann Pedersen
5449634e3c
Wed Mar 22 16:28:46 2006 Søren Sandmann <sandmann@redhat.com>
...
Use inline assembly for copy area, since gcc doesn't generate movq
instructions.
2006-03-22 21:37:49 +00:00
Søren Sandmann Pedersen
5b3084c64f
Wed Mar 22 16:05:09 2006 Søren Sandmann <sandmann@redhat.com>
...
Use inline assembly for solid fills, since gcc doesn't use the movq
instructions.
2006-03-22 21:13:08 +00:00
Benjamin Herrenschmidt
049dca0f43
Remove useless line of code that contained a bug and triggered a gcc
...
warning. This variable will be overriden before being used anyway.
(Bugzilla #5595 )
2006-02-14 08:11:41 +00:00
Alan Coopersmith
a2a5254675
Add <string.h>, <stdlib.h>, and <stdio.h> to clear undefined function
...
warnings after the removal of libcwrapper headers.
2006-02-11 19:16:51 +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
1c3f8727b2
More kdrive merge, fast path fbBlt to use memcpy() when possible. Good for
...
-5% to 60% speedup on XGetImage, and 0% to 10% speedup on copies within
host memory. Based on work by Jaymz Julian.
2006-01-18 19:42:56 +00:00
Dave Airlie
b5356e0afa
typo in last change
2006-01-18 07:00:50 +00:00
Dave Airlie
506eca5f57
Wrap sdk_HEADERS in if XORG as otherwise installing non-xorg servers
...
breaks.
2006-01-18 06:56:52 +00:00
Dave Airlie
8ccf4f2b8f
This is a fix from David Reveman from the xserver tree, Make fbPadPixmap
...
work with negative stride
2006-01-18 06:49:17 +00:00
Eric Anholt
64ac7401ad
Fix a copy'n'paste-o that would result in mis-rounding of the results of
...
several composite operators in A and G channels.
2005-12-28 10:43:02 +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
62f3ef930a
Bug #5258 : Restore binary compatibility with 6.8.2's PictureRec. (Aaron
...
Plattner)
2005-12-09 18:35:21 +00:00
Adam Jackson
d6f98cbdb8
Bug #3944 : Fix 24bpp packed pixel. (Søren Sandmann Pedersen)
2005-12-08 19:33:09 +00:00
Kevin E Martin
7c00afd0ec
Define XFree86Server only where it is required.
2005-12-02 06:02:45 +00:00
Adam Jackson
4ec0b623b6
Bug #5093 : Fix fb for non-SSE machines. (Xavier Bachelot)
2005-11-30 02:36:25 +00:00
Kevin E Martin
da5d66f2ff
Fix usage of XFree86LOADER/XFree86Module/IN_MODULE and update loadable
...
module builds to reflect this change.
2005-11-29 16:39:33 +00:00
Kevin E Martin
89c661d61f
Only use fbCopyAreammx if planemask is FB_ALLONES (fixes XTS5 XCopyArea
...
tests 22 and 23).
2005-11-04 21:37:32 +00:00
Kristian Høgsberg
dc6ac8e46f
Add DGA configure option and add various files that we should be dist'ing.
...
Simplify xf86DefModeSet.c rule a bit.
2005-10-05 21:38:40 +00:00
Eric Anholt
b2e451b93c
Correct the test for whether projective transform is necessary. Also, use
...
"affine" to describe the variable (universally) on suggestion from
vektor. Corrects a rendercheck failure.
2005-10-04 03:44:14 +00:00
Adam Jackson
d51962378e
Bug #3781 : Only use fbCopyAreammx when alu == GXcopy. Originally Gentoo bug
...
#96053 , patch by bartron@gmx.net .
2005-10-03 19:31:50 +00:00
Eric Anholt
84141fc299
Merge r1.36 of fbcompose.c from xserver CVS: Special case projective
...
transforms so we can avoid doing the expensive
64-bit math. Unroll the bilinear interpolation loops for an extra boost. I
tested this with the up/downscaling cairo-benchmarks with Xvfb and saw
a 12% +/- 4% decrease in time taken to run them.
2005-10-03 11:43:55 +00:00
Eric Anholt
c024262eae
Merge r1.2 of fbedge.c from xserver CVS: Optimize spans where the same
...
value is being added to multiple pixels. This improves the speed of
rendering wide trapezoids. I tested this with a small set of xlibs
cairo-benchmarks with Xvfb and saw a 4% decrease in time taken to run
them.
2005-10-03 10:20:29 +00:00
Eric Anholt
ecaa46380e
Bugzilla #4616 :
...
- Merge various fb/ bits of COMPOSITE support from xserver, which weren't
necessary before due to cw hiding the issues. Fixes offset calculations
for a number of operations, and may pull some fixes that cairo has
wanted for XAA as well.
- Add a new call, miDisableCompositeWrapper(), which a DDX can call to keep
cw from getting initialized from the damage code. While it would be
cleaner to have each DDX initialize it if it needs it, we don't have
control over all of them (e.g. nvidia).
- Use the miDisableCompositeWrapper() to keep cw from getting set up for
screens using EXA, because EXA is already aware of composite. Avoiding
cw improved performance 0-35% on operations tested by ajax in x11perf.
2005-10-02 08:28:27 +00:00
Matthieu Herrb
e270e6394b
Bug #3822 : out of bound reads in fbbltone and fbblt (Mark Kettenis, Thierry
...
Deval).
2005-10-01 17:53:38 +00:00
Søren Sandmann Pedersen
2ba865b3f5
Fri Sep 23 19:00:06 2005 Søren Sandmann <sandmann@redhat.com>
...
Apply patch from Ronald Wahl to make sure that the stack pointer is not
modified at points where we access external variables. (Bug 4269).
2005-09-23 23:04:04 +00:00
Daniel Stone
c3d6799cee
Bug #594 : CAN-2005-2495: Fix exploitable integer overflow in pixmap
...
creation, where we could create a far smaller pixmap than we thought,
allowing changes to arbitrary chunks of memory. (Søren Sandmann
Pedersen)
2005-09-13 01:33:19 +00:00
Daniel Stone
b5d42012f9
Fix typo resulting in failure to swap between RGB/BGR properly. (Stephen P.
...
Becker)
2005-09-07 01:30:23 +00:00
Eric Anholt
f20e845b04
More 0 -> NULL for pointers missed in previous commit to this file.
2005-08-30 03:42:07 +00:00
Eric Anholt
7777d325a3
Apply an xserver patch from cworth: Avoid buffer ovverrun when a
...
trapezoid's right edge is on a pixel boundary.
2005-08-30 03:05:21 +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
Daniel Stone
825a95a1fa
Remove use of dix-config and xorg-config.h from public headers.
2005-08-24 11:18:35 +00:00
Søren Sandmann Pedersen
bed3235d22
Thu Aug 18 17:27:09 2005 Søren Sandmann <sandmann@redhat.com>
...
Move fbmmx to a convenience library since the mmx flags may be harmful when
applied to non-mmx code.
2005-08-18 21:28:09 +00:00
Søren Sandmann Pedersen
f2f6820c3f
Wed Aug 17 13:13:00 2005 Søren Sandmann <sandmann@redhat.com>
...
Make asm labels local. Bug 4073, patch from Diego Pettenò.
2005-08-17 17:20:13 +00:00
Søren Sandmann Pedersen
616a65c4cc
Fri Aug 12 14:49:24 2005 Søren Sandmann <sandmann@redhat.com>
...
Apply another patch from Billy Biggs to fix precision issues.
2005-08-12 18:50:33 +00:00
Søren Sandmann Pedersen
1eed84f227
Fri Aug 12 14:45:54 2005 Søren Sandmann <sandmann@redhat.com>
...
Fix up multiplications based on patch by Billy Biggs. Part of bug 3945.
2005-08-12 18:47:17 +00:00
Søren Sandmann Pedersen
8bfffb96b5
Fri Aug 12 14:29:09 2005 Søren Sandmann <sandmann@redhat.com>
...
Apply patch from Billy Biggs that fixes rounding problems with division.
Part of bug 3945.
2005-08-12 18:31:07 +00:00
Søren Sandmann Pedersen
812ed2e17b
Fri Aug 12 10:45:01 2005 S%Gï¿¿%@ren Sandmann <sandmann@redhat.com>
...
Make this function compute the same results as the fbByteMul macro.
2005-08-12 17:43:38 +00:00
Søren Sandmann Pedersen
3e471ddf1d
Add check for whether the platform is MMX capable and add the relevant
...
flags if so.
2005-08-11 14:36:29 +00:00
Søren Sandmann Pedersen
130fffc0cd
Wed Aug 10 16:17:38 2005 Søren Sandmann <sandmann@redhat.com>
...
Add back non-SSE implementations. Define USE_SSE if the CPU is amd64/x86-64
2005-08-10 20:22:57 +00:00
Søren Sandmann Pedersen
ed4d77a16a
Thu Aug 4 16:08:00 2005 Søren Sandmann <sandmann@redhat.com>
...
Make the fbCompose paths use the existing inline functions instead of
macros. Various other cleanups.
Remove macro definitions, move typedef to fbmmx.c
2005-08-04 21:05:12 +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
Søren Sandmann Pedersen
78d51253e2
Fri Jul 29 17:20:53 2005 Søren Sandmann <sandmann@redhat.com>
...
Fix rounding bug.
2005-08-01 16:07:14 +00:00
Søren Sandmann Pedersen
df5d47560c
xserver/xorg/fb/Makefile.am: install fboverlay.h
2005-07-26 18:56:45 +00:00
Søren Sandmann Pedersen
b25e6f82a1
fb/Makefile.am: add fbpseudocolor.h to sdk_HEADERS
...
hw/xfree86/xaa/Makefile.am: add xaaWrapper.h to sdk_HEADERS
2005-07-26 18:21:22 +00:00
Lars Knoll
19e20c1470
don't clobber %ebx in the assembler.
2005-07-13 08:58:37 +00:00
Lars Knoll
bfb10bd2dc
Fix potential buffer overflow and a smaller bug in the convolution filter
2005-07-13 07:28:17 +00:00
Lars Knoll
778a2703b2
fix compilation
2005-07-13 07:12:33 +00:00
Lars Knoll
41002623f3
Add MMX Code paths for the basic composition operations in
...
fbComposeGeneral.
2005-07-12 10:02:10 +00:00
Alexander Gottwald
845a0ac68b
Revert last changes. They have to be addressed in a different way
2005-07-04 23:11:20 +00:00
Alexander Gottwald
048045a9e7
Add XWin DDX, make Xorg DDX conditional Make XF86VidMode and XF86Misc
...
conditional
Add XWin DDX
Added DDXTIME, DDXOSFATALERROR, DDXOSVERRORF and DDXBEFORERESET
Added fbcmap.c
Added miinitext.c
Added -I$(top_srcdir)/Xext/extmod to INCLUDES
2005-07-04 22:18:40 +00:00
Lars Knoll
ba011dc77d
don't be too smart and try to replace PictOpOver by PictOpSrc when we have
...
an external alpha map.
Make fbmmx.c compile on gcc 4.0.1.
2005-07-04 14:47:03 +00:00
Lars Knoll
a4df8ad755
Fix handling of "super luminescent" colors Fix off by one error in the
...
transformation handling.
2005-07-04 14:23:59 +00:00
Daniel Stone
46b64bd5c6
Fix more include paths; add dix-config.h to XKB code.
2005-07-03 07:37:35 +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
Daniel Stone
826a6f029f
Continuing Makefile cleanup; add DIX_CFLAGS and XORG_CFLAGS everywhere.
2005-07-02 18:59:44 +00:00
Daniel Stone
9b1debcdb6
Change all misc.h and os.h references to <X11/foo.h>.
2005-07-01 22:43:43 +00:00
Daniel Stone
7ecc2d526c
Remove fbcmap.c hacks from the DIX.
2005-07-01 21:12:24 +00:00
Daniel Stone
ded56b1a74
Adding initial build system.
2005-07-01 20:29:53 +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
c6166ee741
Fix projective transformations in fbcompose.c Bugfix for convolution
...
filters
2005-06-15 14:51:12 +00:00
Lars Knoll
49476ca73c
add the convolution filter from xserver to xorg
2005-06-13 14:40:25 +00:00
Adam Jackson
0f7136191b
Bug #3434 : Don't define fbAddTraps twice. (Mike A. Harris)
2005-06-09 02:03:50 +00:00
Søren Sandmann Pedersen
1e51e18382
Wed May 18 21:20:35 2005 Søren Sandmann <sandmann@redhat.com>
...
s/dst/src that I missed in the previous patch. Pointed out by Owen Taylor.
2005-05-19 01:25:02 +00:00
Søren Sandmann Pedersen
be3875994d
Wed May 18 16:47:44 2005 Søren Sandmann <sandmann@redhat.com>
...
Actually assign the computed results. (Reported by Michael Dänzer, patch
by Owen Taylor).
2005-05-18 20:49:31 +00:00
Alan Coopersmith
f58a54668b
Change return statements to fix compiler errors: "fbcompose.c", line 2815:
...
void function cannot return value "fbcompose.c", line 2861: void
function cannot return value
2005-05-14 20:13:45 +00:00
Adam Jackson
2de24db63e
Render performance improvements. (Lars Knoll, Zack Rusin)
2005-05-08 23:34:15 +00:00
Daniel Stone
abd246c6c2
Add glyphstr.h to includes.
2005-04-20 13:01:55 +00:00
Daniel Stone
292c4cff26
Fix includes right throughout the Xserver tree:
...
change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
change "foo.h", "extensions/foo.h" and "X11/foo.h" to
<X11/extensions/foo.h> for extension headers, e.g. Xv.h;
change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.
2005-04-20 12:25:48 +00:00
Søren Sandmann Pedersen
59d7222b13
Sat Mar 26 19:00:30 2005 Søren Sandmann <sandmann@redhat.com>
...
Remove accidentally committed prototype.
2005-03-27 00:17:12 +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
Egbert Eich
9c94971617
Use the same method of finding the screen pixmap of COMPOSITE extension is
...
compiled in or not.
Removed stale make variable.
Updated xaaWrapper.c: Under certain circumstances the accel path was not
used when possible. Removed some debugging stuff and stale code that
had been commented out.
Check if maps are really installed before attempting to list them.
2004-12-06 15:53:00 +00:00
Markus Kuhn
44f4713a05
Encoding of numerous files changed to UTF-8
2004-12-04 00:43:13 +00:00
Torrey Lyons
16ee24cd99
Use ROOTLESS instead of platform specific defines.
2004-11-05 19:51:38 +00:00
Keith Packard
a29bfbd3d0
Empty damage object when freeing pixmap.
...
Wrap InstallColormap so that the DDX doesn't see colormaps from our ARGB
visual (avoids lovely green tint to screen). Also, set visual->nplanes
of ARGB visual to all used (including alpha) planes so DIX can set
pixel values correctly.
Translate automatic update regions correctly to account for borders
When nplanes == 32 (ARGB visuals), mask in all ones for alpha values to
allocated pixel values.
Remove redundant fbAddTraps declaration
Fix fbCopyWindow to work on non-screen pixmaps (not needed yet)
Replace broken clipping code with that from modular tree.
Respect subWindowMode.
2004-08-13 08:16:14 +00:00