Commit Graph

3373 Commits

Author SHA1 Message Date
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
Brian
c1e1d6b98a In __glXCreateARGBConfig(), insert the new GL mode at the _end_ of the linked list.
Previously, the new mode was added at the head of the list.  This caused the
positional correspondence between modes and the XMesaVisuals array to be off
by one.  The net result was GLX clients failing when they tried to use the
last GLX mode/visual.

We still have the problem of DRI drivers not being able to use the extra
mode/visual introduced by __glXCreateARGBConfig().  glXCreateContext fails
with BadAlloc if it's attempted.  This is also the source of the often-
seen warning "libGL warning: 3D driver claims to not support visual xxx"
Look into fixing that someday...
2007-05-02 15:56:05 -06:00
Tilman Sauerbeck
bd0abb2844 Bug #10823: Fixed default OSNAME value.
We try to get OSNAME from uname by default now.
2007-05-02 17:20:48 +02: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
Colin Guthrie
873ef75b1e fix __glXErrorCallBack() proto 2007-04-30 10:33:12 -06:00
Brian
6b33459bf5 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/xorg/xserver 2007-04-30 10:26:19 -06:00
Michel Dänzer
3c91a993e8 EXA: Fix OffscreenValidate build with DEBUG_OFFSCREEN enabled. 2007-04-29 23:49:41 +02:00
Michel Dänzer
a261e13250 EXA: Remove DrawableDirty.
Convert the remaining callers to PixmapDirty.
2007-04-29 23:49:35 +02:00
Michel Dänzer
b1b6674a91 EXA: FillSpans improvements.
* Don't need to track damage.
* Always migrate for fallbacks.
2007-04-29 23:49:28 +02:00
Michel Dänzer
584697a223 EXA: SolidBoxClipped improvements.
* Centralize handling of fallbacks and damage tracking.
* Always migrate for fallbacks.
2007-04-29 23:49:09 +02:00
Michel Dänzer
982d7c2c0b EXA: CopyNtoN improvements.
* Centralize handling of fallbacks and damage tracking.
* Always migrate for fallbacks.
2007-04-29 23:48:59 +02:00
Michel Dänzer
d2245386ee EXA: GetImage improvements.
Only migrate when appropriate. In particular, don't migrate to offscreen in the
no-fallback case as copying from system memory should usually be as fast if not
faster than DownloadFromScreen, in particular if the bits need to be uploaded
to offscreen first.
2007-04-29 23:48:31 +02:00
Michel Dänzer
0880aaac9c EXA: PutImage improvements.
* Migrate for fallbacks when appropriate.
* Add damage tracking in ExaCheckPutImage.
2007-04-29 23:48:19 +02:00
Michel Dänzer
7fca169011 EXA: ImageGlyphBlt improvements.
* Don't waste effort on invisible glyphs.
* Only track damage for bounding box instead of each glyph separately.
* Always migrate for fallbacks.
2007-04-29 23:48:11 +02:00
Michel Dänzer
a8d6ebdf93 EXA: Defer to FillRegionTiled in Composite when possible.
Committed separately as this case is hard to hit and has only been tested
lightly.
2007-04-29 23:47:53 +02:00
Michel Dänzer
81b055605c EXA: Composite improvements.
* Defer to simpler hooks in more cases (inspired by XAA behaviour).
* Move damage tracking from lower to higher level functions.
* Always migrate for fallbacks.
2007-04-29 23:47:43 +02:00
Michel Dänzer
ce317a5b76 EXA: Glyphs improvements.
* Don't waste effort on invisible glyphs.
* Add damage tracking where necessary.
* Always migrate for fallbacks.
2007-04-29 23:47:16 +02:00
Michel Dänzer
0c8905ebc9 EXA: PolyFillRect improvements.
* Convert rects to region and use it for damage tracking.
* When possible, defer to exaFillRegion{Solid,Tiled} using converted region.
* Always migrate for fallbacks.
* Move damage tracking out of ExaCheckPolyFillRect.
2007-04-29 23:47:08 +02:00
Michel Dänzer
567f18a09b EXA: FillRegion{Solid,Tiled} improvements.
* Support planemasks, different ALUs and arbitrary tile origin.
* Leave damage tracking and non-trivial fallbacks to callers.
* Always migrate for fallbacks.

This is in preparation for using these from more other functions.
2007-04-29 23:46:49 +02:00
Michel Dänzer
e869573b52 EXA: exaAssertNotDirty improvements.
* Return early if the valid region is empty or the pixmap is pinned.
* Fix loop for several cliprects.
2007-04-29 23:45:48 +02:00
Michel Dänzer
d3f8667341 EXA: Fix exaEnableDisableFBAccess for nested disables and enables. 2007-04-29 23:44:27 +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
Soren Sandmann Pedersen
78a2045535 Pixman merging
More msvc++ porting
2007-04-27 15:20:24 -04:00
Soren Sandmann Pedersen
6c4f1826bf Bug fix in fbCompositeIn_nx8x8888
Make sure both halves of the dst word is set to zero when the masks
are both 0.
2007-04-27 08:13:45 -04:00
Adam Jackson
ae04f2cb0a Fix the 'relink' target for kdrive servers. 2007-04-26 15:28:04 -04:00
Adam Jackson
6c8152d6ee Remove old edid_modes.c, it lives in hw/xfree86/modes/ now. 2007-04-26 14:59:04 -04:00
Soren Sandmann Pedersen
2208c6087d Change expand_alpha_rev to expand_alpha in mmxSaturateU 2007-04-26 14:40:30 -04:00
Soren Sandmann Pedersen
a300ef84ce Fix typo in previous commit 2007-04-26 14:37:53 -04:00
Soren Sandmann Pedersen
0ebe48be59 Pixman merge
- Changes to support MS Visual C++

- use inline instead of __inline__

- Fix rounding errors (Billy Biggs, from xserver via pixman)
2007-04-26 14:36:32 -04:00
Soren Sandmann Pedersen
4fe918b385 Fix bug 8871 - scrolling corruption with a compositing manager
Call miHandleExposures() in CopyArea/CopyPlane explicitly in cw to
generate GraphicsExposes correctly.
2007-04-26 12:41:01 -04: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
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
Peter Hutterer
c0346e57e6 Require inputproto 1.4.2.
Requirement was introduced with c7e2ba0c9b.
2007-04-26 12:03:28 +09:30
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
Adam Jackson
c09e68ce30 Paper over a crash at exit during GLX teardown. 2007-04-25 16:46:26 -04:00
Adam Jackson
9c80eda826 Disable RANDR's fake Xinerama protocol when there's more than one screen.
... in the protocol sense.  Xinerama doesn't have any provision for more
than one protocol screen each with its own geometry.

Red Hat bug #231257.
2007-04-25 16:35:04 -04:00
Adam Jackson
d322608dc9 Fix a buffer overrun on machines with excessively large PCI busses.
Formerly we sized an array with a compile time constant, then initialized
its size to the same constant, but the Linux PCI init code would increase
that "constant".  So if you happened to have more than 128 PCI devices,
you'd happily scribble into whatever variables happened to be in .bss
after that array.

Only really fixed for Linux atm.  Other OSes will simply (still) fail to
work on video devices above the 128th PCI device.
2007-04-25 16:29:48 -04:00
Aaron Plattner
3ba1e8ab6d Include xf86Rename.h in xf86RandR12.h. 2007-04-24 17:20:14 -07: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
Brian
18252a515d bump release date to reflect input code updates 2007-04-24 14:10:09 -06: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