Commit Graph

221 Commits

Author SHA1 Message Date
Aaron Plattner
f2e310132f Add CreatePixmap allocation hints.
These hints allow an acceleration architecture to optimize allocation of certain
types of pixmaps, such as pixmaps that will serve as backing pixmaps for
redirected windows.
2007-11-04 16:11:28 -08:00
Dodji Seketeli
a5bd536869 fbcmap_mi.c: add a missing api
* fb/fbcmap_mi.c:
         (fbSetVisualTypesAndMasks): added this entry point that was missing.
         This is useful so that servers using this entry point can use fbcmap_mi.c,
         and be obliged to stick to fbcmap.c. Note that fbcmap.c does implement this
         entry point. Up to now, kdrive based server could not use fbcmap_mi.c because this
         entry point was missing. The will allow Xephyr to properly use GL.
2007-10-02 16:55:17 +02:00
Alan Hourihane
c11a27ef85 Add the FB_ACCESS_WRAPPER checks 2007-09-27 14:55:40 +01:00
Alan Hourihane
e0bb33b3d2 Fix bug #12286 2007-09-27 14:55:40 +01:00
Eric Anholt
e4d11e58ce Remove the PaintWindow optimization.
This was an attempt to avoid scratch gc creation and validation for paintwin
because that was expensive.  This is not the case in current servers, and the
danger of failure to implement it correctly (as seen in all previous
implementations) is high enough to justify removing it.  No performance
difference detected with x11perf -create -move -resize -circulate on Xvfb.
Leave the screen hooks for PaintWindow* in for now to avoid ABI change.
2007-09-13 00:08:53 +00:00
Adam Jackson
ae7f71a8b3 Implement core protocol backing store exclusively in terms of Composite.
Composite's automatic redirection is a more general mechanism than the
ad-hoc BS machinery, so it's much prettier to implement the one in terms
of the other.  Composite now wraps ChangeWindowAttributes and activates
automatic redirection for windows with backing store requested.  The old
backing store infrastructure is completely gutted: ABI-visible structures
retain the function pointers, but they never get called, and all the
open-coded conditionals throughout the DIX layer to implement BS are gone.

Note that this is still not a strictly complete implementation of backing
store, since Composite will throw the bits away on unmap and therefore
WhenMapped and Always hints are equivalent.
2007-08-25 15:08:20 -04:00
Søren Sandmann Pedersen
943dd6ad99 Revert "Revert "Require pixman 0.9.5; Use pixman_image_set_source_clipping() to fix"" since the pixman changes have been pushed now.
This reverts commit 57f7f2a532.
2007-08-23 12:15:03 -04:00
Eric Anholt
57f7f2a532 Revert "Require pixman 0.9.5; Use pixman_image_set_source_clipping() to fix"
The corresponding pixman code hasn't been pushed, so revert until the code is
ready.

This reverts commit 53941c8e68.
2007-08-22 09:02:03 -07:00
Eric Anholt
d0dc9698ae Revert "Fix <pixman.h> include to <pixman/pixman.h>"
The pixman headers have been located under pixman-1/ instead of pixman/ since
around 2007-08-06, and pixman-1.pc has the updated include paths to account
for this.

This reverts commit feb1b3e455.
2007-08-22 09:00:45 -07:00
Alan Hourihane
feb1b3e455 Fix <pixman.h> include to <pixman/pixman.h> 2007-08-22 16:54:29 +01:00
Søren Sandmann Pedersen
53941c8e68 Require pixman 0.9.5; Use pixman_image_set_source_clipping() to fix
bug 11620 (reported by Jens Stroebel.
2007-08-21 14:26:14 -04:00
Aaron Plattner
6a32a96d8d stride is in FbBits-sized chunks, but xoff is not.
Fixes corruption problems with composite rendering to redirected windows in
depth 16.
2007-08-16 17:43:29 -07:00
Aaron Plattner
32666d7722 Bug #12015: Use the right offsets in the dst arguments of pixman_blt. 2007-08-16 14:57:32 -07:00
Søren Sandmann Pedersen
aa3c6aaaab Require pixman-1 0.9.4, update pixman includes to new scheme 2007-08-06 19:00:59 -04:00
Aaron Plattner
74feba4d77 Don't unwrap too early in libwfb for Composite.
Don't call fbFinishWrap until the pixman_image_t that stores the pointer is
actually freed.  This prevents corruption or crashes caused by accessing a
wrapped pointer after the wrapping is torn down.
2007-08-06 14:22:49 -07:00
Alan Coopersmith
7c0ca27f6d "fbpict.c", line 215: void function cannot return value 2007-07-11 17:16:59 -07:00
Adam Jackson
bcb2352742 Clean up unused #ifdefs from fb. 2007-07-05 15:56:25 -04:00
Adam Jackson
4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -04:00
Aaron Plattner
1e189ed1da Handle tileStride > 1 in fbEvenTile.
Patch courtesy of James Jones.
2007-06-27 10:16:40 -07:00
Søren Sandmann Pedersen
19cde59c41 In fbFill() make sure the drawable is validated when pixman_fill() succeeds.
In fbSolidBoxClipped() don't return when pixman_fill() succeeds.
2007-06-22 00:39:28 -04:00
Arcady Goldmints-Orlov
5138f710a1 Fixed fbSolidBoxClipped() to fill the right place.
Changed an X2 to a Y1.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
2007-06-20 16:46:22 -07:00
Søren Sandmann Pedersen
78179ae827 Remove fbmmx.[ch] files 2007-06-11 22:46:42 -04:00
Søren Sandmann Pedersen
eb2d7fe02f Replace fbFillmmx() with pixman_fill() and remove fbmmx.[ch] 2007-06-11 22:43:01 -04:00
Søren Sandmann Pedersen
d1d85c04e2 Delete fbBltmmx(). 2007-06-11 21:25:42 -04:00
Søren Sandmann Pedersen
3f9adb18f1 Port a few forgotten fbSolidFillmmx()'es to fbFillmmx(). Use pixman_blt() instead of fbBltmmx()
in fbCopyNToN().
2007-06-11 15:19:27 -04:00
Søren Sandmann Pedersen
d06099b38e Remove fbCopyAreammx() and fbSolidFillmmx() 2007-06-11 14:10:33 -04:00
Søren Sandmann Pedersen
d4a034370c Split fbSolidFillmmx() into a new FbFillmmx() function. Call that from fbFill(). 2007-06-11 14:10:33 -04:00
Søren Sandmann Pedersen
3210902a73 Split fbCopyAreammx() into a new fbBltmmx() function; call this
function from fbCopyNToN().
2007-06-11 14:10:33 -04:00
Søren Sandmann Pedersen
54e023cec0 Don't pass regions to pixman_image_composite() anymore. 2007-06-11 09:43:15 -04:00
Aaron Plattner
9c47b86bd9 Add new fb symbols to wfbrename.h.
Avoids crashes when wfbComposite calls the wrong image_from_pict.
2007-06-07 13:57:12 -07:00
Søren Sandmann Pedersen
567b5bf765 Delete fbCompositeCopyAreammx() 2007-06-05 20:26:49 -04:00
Søren Sandmann Pedersen
49ed31c0b3 Remove most of the fast-path MMX operations from fbmmx. fbCopyAreammx
and fbSolidFillmmx are still needed by other code.
2007-06-05 17:48:33 -04:00
Benjamin Herrenschmidt
e5ce982381 Include pixman.h from fb.h or compile of some files will fail
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2007-06-03 09:40:37 +10:00
Soren Sandmann Pedersen
047bf3349b Delete trapezoid rendering code; replace with pixman calls 2007-05-23 16:56:05 -04:00
Soren Sandmann Pedersen
9d87ef4e0d - Make image_from_pict() non-static
- Delete fbedge.c and fbedgeimp.h
- Use pixman_rasterize_edges() in fbtrap.c
2007-05-23 15:50:25 -04:00
Soren Sandmann Pedersen
3ba3ede9bb Add missing offsets for window coordinates - reported by Colin Harrison 2007-05-23 12:56:04 -04:00
Soren Sandmann Pedersen
56fd927155 Remove fast path code from fbpict.c
Remove the various fast path functions from fbpict, and instead use
pixman_image_composite().
2007-05-21 20:00:25 -04:00
Soren Sandmann Pedersen
756acea23a Use pixman_image_set_indexed() to make 8 bit work 2007-05-18 14:06:21 -04:00
Soren Sandmann Pedersen
7916419a00 Comment out setup of general MMX code 2007-05-18 14:06:21 -04:00
Soren Sandmann Pedersen
998164bac6 Move fbCompositeGeneral() to fbpict.c and remove fbcompose.c 2007-05-18 14:06:21 -04:00
Soren Sandmann Pedersen
a2e3614eb8 Break image_from_pict() into a few subfunctions. 2007-05-18 14:06:21 -04:00
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
0375009a97 Remove excessive unrolling in fbCompositeSrc_x888x8x8888() and fix bug where
the source alpha was used instead of 0xff.
2007-05-17 12:59:24 -04:00
Soren Sandmann Pedersen
546465ee6a Make fbFetch_b8g8r8() actually write the read value to the buffer 2007-05-16 17:42:04 -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
Keith Packard
71fc5b3e93 Fix for a divide by zero that can be triggered by a malicious client.
Problem reported by Derek Abdine of rapid7.com. Thanks.
2007-05-02 11:41:11 +02: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