Commit Graph

100 Commits

Author SHA1 Message Date
Maarten Maathuis
974db58f5b damage: initial attempt at a damage marker mechanism
- This should allow drivers to recieve post submission events for X<->opengl synchronisation.
- Lacking a testcase, i'm open to suggestion how to do it better.
- The idea is:
 - driver recieves event
 - driver creates personal identification and inserts marker into X fifo.
 - when something wants to use an X pixmap, it checks if something is pending.
 - If so, it synchronizes the 2nd fifo using the initial identification.
- Driver is not required to use interrupt based systems (price too high).
- Lower latency is ofcource better.
- If this is somehow unusable for you, then come up with improvements.
- For that reason i wouldn't consider the api fixed for the moment.
2008-08-30 00:37:11 +02:00
Maarten Maathuis
454cb0802e damage: DamageReportRawRegion should set pDamage->damage
- I found no evidence in the protocol, that it should be differently from all the other modes.
- It seems to have been like this from day 1.
- If anyone has evidence to the contrary, please enlighten me.
2008-08-29 22:28:02 +02:00
Maarten Maathuis
ae6ca43410 damage: internal functions start with a non-capital letter 2008-08-29 22:21:54 +02:00
Maarten Maathuis
1861250cd7 {damage,exa}: sanitise damage
- Redo damage naming for more consistency.
- Call post submission functions only where appropriate.
- EXA can now live without it's odd damage workarounds.
2008-08-29 22:15:23 +02:00
Tomas Carnecky
ebea78cdba Prepare for array-index based devPrivates.
TODO: static indices can be made just an int; some indices
can be combined.
2008-08-28 18:05:40 -04:00
Eamon Walsh
c8feb73f58 Merge branch 'master' into XACE-SELINUX
Conflicts:

	Xext/EVI.c
	Xext/bigreq.c
	Xext/cup.c
	Xext/dpms.c
	Xext/fontcache.c
	Xext/mitmisc.c
	Xext/xcmisc.c
	Xext/xf86bigfont.c
	Xext/xtest.c
	configure.ac
	dbe/dbe.c
	hw/darwin/darwin.h
	hw/darwin/darwinEvents.c
	hw/darwin/iokit/xfIOKit.h
	hw/darwin/iokit/xfIOKitCursor.c
	hw/darwin/quartz/fullscreen/fullscreen.c
	hw/darwin/quartz/fullscreen/quartzCursor.c
	hw/darwin/quartz/quartz.c
	hw/darwin/quartz/quartzCommon.h
	hw/darwin/quartz/quartzCursor.c
	hw/darwin/quartz/xpr/dri.c
	hw/darwin/quartz/xpr/dristruct.h
	hw/darwin/quartz/xpr/xprCursor.c
	hw/darwin/quartz/xpr/xprFrame.c
	hw/xfree86/modes/xf86RandR12.c
	include/cursor.h
	miext/rootless/rootlessCommon.h
	miext/rootless/rootlessScreen.c
	miext/rootless/rootlessWindow.c
	render/picturestr.h

Trying to pick up the pieces from the darwin churn here...
2007-12-13 18:38:25 -05:00
Adam Jackson
fa47910045 Clean up many #if 0. 2007-12-02 12:40:25 -05:00
Eamon Walsh
a52c9b2a59 Merge branch 'master' into XACE-SELINUX
Conflicts:

	dix/dispatch.c
	dix/property.c
	hw/xfree86/common/xf86VidMode.c
	include/xkbsrv.h
	render/glyph.c
	xkb/xkbActions.c
2007-11-05 19:08:36 -05:00
Daniel Stone
3633ae6efb Damage: Remove usage of alloca
Replace with heap allocations.
2007-11-05 14:34:41 +00:00
Eamon Walsh
97c150b61b Merge branch 'master' into XACE-SELINUX
Conflicts:

	afb/afbpntwin.c
	afb/afbscrinit.c
	afb/afbwindow.c
	cfb/cfb.h
	cfb/cfballpriv.c
	cfb/cfbscrinit.c
	cfb/cfbwindow.c
	configure.ac
	fb/wfbrename.h
	hw/xfree86/xf4bpp/ppcIO.c
	hw/xfree86/xf4bpp/ppcPntWin.c
	hw/xfree86/xf4bpp/ppcWindow.c
	hw/xfree86/xf8_32bpp/cfbscrinit.c
	mfb/mfb.h
	mfb/mfbpntwin.c
	mfb/mfbscrinit.c
	mfb/mfbwindow.c
	mi/miexpose.c

Note: conflicts caused by devPrivates rework vs. paintwindow changes.
2007-09-19 07:25:55 -04: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
Michel Dänzer
f27931bdd2 Add DamagePendingRegion.
DamagePendingRegion returns a pointer to the region of a drawable that will
be damaged by the current operation for damage records that chose to get damage
reported only at the end of the operation.
2007-09-07 18:41:30 +02:00
Eamon Walsh
4017d31902 devPrivates rework: since API is already broken, switch everything
over to new system.

Need to update documentation and address some remaining vestiges of
old system such as CursorRec structure, fb "offman" structure, and
FontRec privates.
2007-08-28 09:28:25 -04: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
Adam Jackson
4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -04:00
Eric Anholt
6ed08949af Move libcw setup to the only renderer requiring it (XAA).
Additionally, protect libcw setup behind checks for Render, to avoid
segfaulting if Render isn't available (xnest).

The previous setup was an ABI-preserving dance, which is better nuked now.
Now, anything that needs libcw must explicitly initialize it, and
miDisableCompositeWrapper (previously only called by EXA and presumably binary
drivers) is gone.
2007-03-27 17:31:28 -07:00
Adam Jackson
9a0f25de7c Static cleanups, dead code deletion. 2007-03-25 12:27:01 -04:00
Michel Dänzer
4334860e69 Merge branch 'master' into exa-damagetrack
Conflicts:

	exa/exa_accel.c
	exa/exa_migration.c
2006-12-19 16:29:26 +01: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
6060b612de Provide option to report damage after operation is complete. 2006-06-12 20:12:31 +02:00
Adam Jackson
291e89d4f2 Remove NEED_LINEHELPER BC cruft for pre-R6 DDXes. 2006-04-30 19:16:14 +00:00
Keith Packard
8987b2c1ef Make more extensions optional in build (for kdrive). Fix kdrive build for
actual hardware. Fix kdrive pointer signed/unsigned types. Add
    kdrive-required YX rotation functions. Replace rgb text file loading
    with static rgb color table.
2006-02-16 07:17:31 +00:00
Adam Jackson
3fe482c77e Mark everything in misym.c as _X_EXPORT. 2006-02-15 19:05:55 +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
Alan Hourihane
cfd3988ed9 wrap with if XORG / endif 2006-01-23 13:58:19 +00:00
Alan Hourihane
f51ecc66e9 #include "gcstruct.h" 2006-01-23 13:54:59 +00:00
Alan Hourihane
80f45fa4df add damage.h & damagestr.h to SDK headers 2006-01-23 13:54:34 +00:00
Kevin E Martin
7c00afd0ec Define XFree86Server only where it is required. 2005-12-02 06:02:45 +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
Eric Anholt
1614a31a9d Bug #4699: Correct some memory leaks in EXA and damage related to region
handling.
2005-10-06 21:55:41 +00:00
Adam Jackson
fcaa6f30c4 Bug #3989: Fix Composite builds, enable Composite build by default. (Olli
Helenius)
2005-08-07 19:02:32 +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
ded56b1a74 Adding initial build system. 2005-07-01 20:29:53 +00:00
Adam Jackson
ca37d57552 Bug #2469: More accurate damage reports. (Jonathan Lennox) 2005-06-09 03:01:57 +00:00
Søren Sandmann Pedersen
cc95e597b5 Tue Mar 22 12:47:16 2005 Søren Sandmann <sandmann@redhat.com>
Only validate the source if it is a viewable window. Stops the cursor
    flickering when it is above an unviewable window.
2005-03-22 17:49:14 +00:00
Søren Sandmann Pedersen
82f5a12752 Wed Mar 16 16:17:43 2005 Søren Sandmann <sandmann@redhat.com>
Only validate the source if it is a viewable window. Stops the cursor
    flickering when it is above an unviewable window.
2005-03-16 21:25:43 +00:00
Roland Mainz
fe2a2213d1 //freedesktop.org/bugzilla/show_bug.cgi?id=1998): Fix Xserver standalone
build when RENDER extension includes are not availabe.
2004-12-02 23:47:39 +00:00
Roland Mainz
fec868bf0f //freedesktop.org/bugzilla/show_bug.cgi?id=1204): Fix X11 test suite
(caused by DAMAGE layer) failure with Xvfb when rendering text using
    |XDrawText*()| (XDrawText() tests 1, 3, 4, 27, 28,
29, 30, 34, 37, 39, 41, 43 and XDrawText16() tests 1, 3, 9, 10, 11, 12,
13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34,
37, 39, 41, 43). Patch by Hong Bo Peng <penghb@cn.ibm.com> and Stefan
    Dirsch <sndirsch@suse.de>.
2004-11-23 17:10:55 +00:00
Kevin E Martin
b2135e589b First set of documentation updates.
Include more correct fix for rootless interaction with damage (Bug #1168,
    Keith Packard).
2004-09-03 16:18:23 +00:00
Kevin E Martin
d7fef52254 Workaround for servers using rootless layer with damage (Bug #1168, Torrey
T. Lyons).
2004-09-02 04:04:47 +00:00
Keith Packard
e61b5d38ab Use XLIB_SKIP_ARGB_VISUALS environment variable to disable all depth 32
visuals. Necessary to keep Flash from crashing.
Must call ValidateGC/ValidatePicture on "real" GC/Picture to ensure
    pCompositeClip is set correctly.
Need to take the composite clip from the "real" GC/Picture and turn it into
    the clientClip for the backing version.
Adjust pixmap screen origin to account for drawable->x/y Change debugging
    output a bit (disabled by default)
2004-08-14 07:12:37 +00:00
Eric Anholt
961333143e Apply a kludge to initialize the composite wrapper before DamageSetup. If
not, DamageSetup will wrap some operations first, and the cw
    initializes during ExtensionInit, so cw comes higher in the wrapping
    chain. cw going first will result in damage getting confused when the
    drawables get changed around.
2004-08-12 08:45:33 +00:00
Kristian Høgsberg
47ee5f4ba7 Add call to SourceValidate() when pDst == pSrc, so misprite.c get a chance
to remove the sprite before the area is copied. The drivers handle pDst
    != pSrc (#1030).
2004-08-12 01:57:51 +00:00
Keith Packard
fd439afdfe Add COMPOSITE change to fbCopyWindow (not needed yet)
Xnest was half-using midispcur and doing a bad job of it. Replace all of
    that code with mipointer which does a lot of the work.
Support DDXen which don't provide GetWindowPixmap, or which return NULL for
    the root pixmap.
2004-08-11 22:40:14 +00:00
Keith Packard
1e694d2b51 Fix minor timestamp lossage in mieq.
Replace miSprite implementation with Damage-based one. Otherwise damage and
    misprite conflict causing looping.
Change pScreen usage around a bit to eliminate warnings
2004-08-07 01:23:07 +00:00
Eric Anholt
370bda820b Integrate latest damage bits, including the addition of Composite code.
Includes REGION_INIT -> REGION_NULL necessary to avoid segfaults with
    inlined region macros.
2004-07-31 01:38:46 +00:00
Kevin E Martin
813d75f9d3 Use LibraryTargetName when not building a loadable server
Move extern function declarations to window.h
Cleaned up code since client's saveSet is no longer defined as a pointer*
Added externs back in
Change #if to #ifdef to fix compiler warning
Add function declarations that were inadvertently removed by previous check
    in
Disable extensions that are not (yet) supported by DMX
2004-07-29 23:43:40 +00:00
Stuart Kreitman
d2f798b6db Integration of DAMAGE-XFIXES branch to trunk
https://freedesktop.org/bugzilla/show_bug.cgi?id=859
Added Files: Imakefile damage.c damage.h damagestr.h
2004-07-29 14:42:24 +00:00