Commit graph

2631 commits

Author SHA1 Message Date
Keith Packard
66b6358a39 RandR ListOutputProperties has nAtoms element, not nProperties
Earlier RandR 1.2 encoding revisions used 8-bit nProperties field.
Final RandR 1.2 spec uses 16-bit nAtoms field instead.
2006-11-30 23:16:42 -08:00
Keith Packard
b5e3731436 Merge branch 'server-1.2' into randr-1.2-for-server-1.2 2006-11-30 17:40:12 -08:00
airlied
7c639791be fixup configure.ac problems with DRI_SOURCES and LBX_SOURCES 2006-12-01 11:10:19 +11:00
airlied
0755ba0686 add extern to struct definition 2006-12-01 11:10:06 +11:00
Dave Airlie
2e0a53d820 dri: setup libdrm hooks as early as possible.
This is due to radeon doing drm stuff before DRI extension gets initialised
(cherry picked from e2f6dacc73 commit)
2006-12-01 10:35:24 +11:00
airlied
03fcf5ec99 DRI: call drmSetServerInfo() before drmOpen().
Also, remove some libdrm remnants.
(cherry picked from 5bfe7f4dfc commit)
2006-12-01 10:35:03 +11:00
Eric Anholt
d8c3c0ee09 Fix typo before the last commit.
(cherry picked from 28337cc106 commit)
2006-12-01 10:34:01 +11:00
Eric Anholt
5a91845236 Bug #8868: Remove drm from SUBDIRS now that the directory is gone.
(cherry picked from e1720b1089 commit)
2006-12-01 10:33:46 +11:00
airlied
e87285c2a0 make X server use system libdrm - this requires libdrm >= 2.3.0
This patch blacklists the load "drm" line, moves some functions in dri module
links dri module against libdrm, and removes the X copy of libdrm
(cherry picked from fd91630b73 commit)
2006-12-01 10:32:57 +11:00
Daniel Stone
69820a10e3 remove CID support (bug #5553)
Remove CID from all our fontpaths.
2006-12-01 00:41:41 +02:00
Daniel Stone
2efd6aca00 bump to 1.1.99.903 2006-12-01 00:11:51 +02:00
Jurij Smakov
69508dd98b ffs: handle 0 argument (bug #8968)
Handle an argument of 0 in ffs(), instead of looping indefinitely.
Add an ffs prototype to dix.h, and add includes to ffs.c.
(cherry picked from 34164e551e4c3909322d50b09835ca4ac1d49d68 commit)
(cherry picked from acb5ff4c73 commit)
2006-11-30 20:20:16 +02:00
Jeremy C. Reed
9348662cc8 On DragonFLy, default to /dev/sysmouse (just like on FreeBSD).
TODO: use autoconf to handle this so the code is not platform
based but feature based.
(cherry picked from 6facd958c2 commit)
2006-11-30 20:20:02 +02:00
Matthias Hopf
e88d09e75d Fix potential NULL pointer access in timer code.
https://bugzilla.novell.com/show_bug.cgi?id=223718
(cherry picked from 834e4b0798 commit)
2006-11-30 20:19:15 +02:00
Aaron Plattner
51c78f5652 Add DIX_CFLAGS to util builds.
Fixes a build breakage when $(top_srcdir) != $(top_builddir) because
-I$(top_srcdir)/include is missing for the cvt, ioport, pcitweak, and scanpci
builds.

Signed-off-by: Adam Jackson <ajax@nwnk.net>
(cherry picked from ee9bdd3f4a commit)
2006-11-30 20:19:01 +02:00
Aaron Plattner
11c260736f Add a -showDefaultLibPath option.
A corollary to the previous change, this option prints $libdir.
(cherry picked from 64de3baf85 commit)
2006-11-30 20:18:37 +02:00
Aaron Plattner
32e122466e Add a -showDefaultModulePath option.
As discussed on the mailing list, people would rather have an X command-line
option to print the module path so installers can know where to put modules,
rather than the installers using `pkg-config --variable=moduledir xorg-server`,
since some distros choose not to install xorg-server.pc.
(cherry picked from 0a2a6e4070 commit)
2006-11-30 20:17:32 +02:00
George Sapountzis
782166ac22 Fix GL context destruction with AIGLX.
The logic for freeing GL contexts introduced by "Fix AIGLX VT switching." is
inverted. As it is now, GL context destruction is deferred for glxDRIEnterVT().
(cherry picked from f17e3c34df commit)
2006-11-30 20:17:27 +02:00
Matthias Hopf
3d513382d1 Bug #9023: Only check mice for "mouse" or "void" if identifier is != NULL.
(cherry picked from 26d2e45bdb commit)
2006-11-30 20:17:23 +02:00
Keith Packard
4202b23ed8 Destroying RandR crtc or output overwrites memory.
RRCrtcDestroyResource and RROutputDestroyResource had matching
bugs that would overwrite memory past the end of the storage
of the crtc or output arrays. Oops.
2006-11-27 21:40:24 -08:00
Keith Packard
ec83d67416 Ensure RandR resource types are registered before resources are created.
Now that resources can be created during server initialization, make sure
the crtc, output and mode resource types are created before attempting to
create associated resources.
2006-11-26 19:31:48 -08:00
Keith Packard
0626eb8e5c Allocate correct size for RRPropertyRec (oops).
Neglected to change the allocation size from sizeof (PropertyRec) to
sizeof (RRPropertyRec). Lots of fun crashes this way.
2006-11-21 16:52:28 -08:00
Keith Packard
af55c65bea Change RandR property datatype to include pending/valid values.
This patch tracks the protocol changes which introduce more complex
semantics for RandR output properties including pending and valid value
information.
2006-11-21 01:15:26 -08:00
Keith Packard
2953ef0c04 Add mipmap.c to GL/mesa/main/Makefile to build with mesa master 2006-11-17 09:47:58 -08:00
Keith Packard
b5aa9eb8e6 Reduce calls to RRGetInfo.
RRGetInfo can be expensive. Don't invoke it when quering Xinerama
information or setting a new CRTC configuration.
2006-11-16 13:50:48 -08:00
Keith Packard
8b2a7e94a1 Remove RandR output options.
RandR output options are now expected to be handled by properties instead.
2006-11-16 10:15:30 -08:00
Keith Packard
ae9375ed6b Add RRInit function to create resource types for RR objects.
To allow RandR objects to be created before the screen object exists,
the resource types must be registered with the resource database.
A driver wishing to create RandR objects must call RRInit before doing so.

Also, fix a segfault when setting Output data before it is associated with a
screen.
2006-11-16 10:15:30 -08:00
Keith Packard
8d0ac835bc Allow RandR objects to be created before the associated ScreenRec.
xf86 drivers need to create RandR object in the PreInit stage,
before the ScreenRec is allocated. Changing the RandR DIX code
to permit this required the addition of functions that later associate the
objects with the related screen.

An additional change is that modes are now global, and no longer associated
with a specific screen. This change actually makes mode management cleaner
as there is no more per-screen list of modes to deal with.

This changes the RandR 1.2 ABI/API for drivers.
2006-11-16 10:15:29 -08:00
Eric Anholt
45621bd215 Don't bump the refcnt if the new mode is NULL. 2006-11-16 10:15:28 -08:00
Keith Packard
354603f509 Move physical size from mode to output.
Modes can be shared across different sized monitors this way.

Also caught some missing byteswapping and an incorrect return type.
2006-11-16 10:15:28 -08:00
Keith Packard
368cf03d33 Merge master back in and clean up some unfinished code (closes 8745) 2006-11-16 10:15:27 -08:00
Keith Packard
a153871447 Byte swap RRSelectInput enable flags. 2006-11-16 10:15:15 -08:00
Keith Packard
39ecb2b109 Limit pointer to valid crtc areas. Add event swapping. Fix change tracking.
Add function to keep pointer within valid crtc areas.
Finish event delivery and swapping code.
Separate configuration from layout changes to send correct events.
2006-11-16 10:03:01 -08:00
Keith Packard
a9fb37ffde Add preferred modes for each output. Round vrefresh. Deliver crtc events. 2006-11-16 10:03:01 -08:00
Keith Packard
0f37ee35a8 Add mode origins and output options. Fix memmoves in resource free funcs.
Output options and mode origins both affected driver ABI.  memmove mistakes
were causing 'Freeing resource which isn't there' messages.

Prune unused non-user defined modes from available list now.
2006-11-16 10:03:00 -08:00
Keith Packard
f7dcf3a6d4 When no mode is specified, don't validate mode-specific parameters. 2006-11-16 10:02:59 -08:00
Keith Packard
817a82faaf Steal Xinerama code from SiS driver. Add missing files.
Provide a Xinerama implementation when DIX version isn't enabled. This
version exposes each crtc as a separate 'screen' and reports the size of
that patch. The extension also sends ConfigureNotify events to the root
window whenever crtcs change so that applications will re-fetch xinerama
information. This actually works for metacity.
2006-11-16 10:02:59 -08:00
Keith Packard
3516e85b45 RRSetCrtcConfig status fix. RRGetScreenResources timestamp fix.
RRSetCrtcConfig was returning the wrong status values.
RRGetScreenResources was always returning currentTime.
2006-11-16 10:02:58 -08:00
Keith Packard
a0f59b5379 typo 2006-11-16 10:02:58 -08:00
Keith Packard
b851c3e35e When setting output state, leave output unchanged when setting to current. 2006-11-16 10:02:57 -08:00
Keith Packard
f133e72d82 Avoid calling xalloc(0). Change rrScreenSizeSet to rrScreenSetSize. 2006-11-16 10:02:56 -08:00
Keith Packard
cd63e82aa5 Split out 1.0-style info and new property routines to their own files. 2006-11-16 10:02:56 -08:00
Keith Packard
7f9b59d80d RRGetScreenResources and RRGetOutputInfo are working now.
Removed separate id field in RRModeRec.
Pull screen subpixel order from Render extension.
Implement RGetScreenResources and RRGetOutputInfo
2006-11-16 10:02:55 -08:00
Keith Packard
0b22ab2f49 RandR working with old clients and old API. 2006-11-16 10:02:54 -08:00
Keith Packard
db4576798e Split out RandR dispatch code from randr.c to rr*dispatch.c.
More disassembly to ease ongoing development.
2006-11-16 10:02:54 -08:00
Keith Packard
cbb587582e Split RandR implementation into separate files.
RandR is getting too big to live in one file; split into one file per object
type (crtc, mode, screen), leaving the rest of the code in randr.c.

Code is slowly approaching the point where it will drop-in as a replacement
for the old 1.0 implementation.
2006-11-16 10:02:53 -08:00
Keith Packard
d7f1f286b7 Start moving to new randr 1.2 definition 2006-11-16 10:02:52 -08:00
Keith Packard
fbaeb0b2a1 Successful legacy RandR API/Protocol emulation for query.
These changes clean up minor errors to make it possible to list the
available modes for a monitor using legacy APIs in both the X server DDX and
RandR protocol. Setting modes is untested, so it probably doesn't work.
2006-11-16 10:02:52 -08:00
Keith Packard
10b0c7d5e4 RandR: New data structure, old API. At least it compiles now 2006-11-16 10:02:51 -08:00
Keith Packard
dc89ecf5b5 Preliminary RandR 1.2 work 2006-11-16 10:02:51 -08:00