Commit Graph

1008 Commits

Author SHA1 Message Date
Dave Airlie
0a168401c4 pci: add support for pci is boot vga call.
This allows us to ask the kernel for the boot VGA device
instead of nasty guessing.
2009-07-28 14:19:24 +10:00
Tiago Vignatti
1e1dbd1e46 xfree86: "Staticize" functions in xf86AutoConfig.c
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2009-07-24 13:25:42 +03:00
Michel Dänzer
9dc8106ba0 randr12: Add compatibility for XF86VidMode gamma ramps.
Fixes screensaver fadeout effects.

Also make all RandR 1.2 compatibility code for XF86VidMode operate only on the
CRTC associated with the compatibility output, not all CRTCs at once.
2009-07-21 14:34:47 +02:00
Adam Jackson
053bb92145 xfree86: Remove xf86SetPriority
GetClocks is pretty doomed to begin with, this really isn't going to
make it worse.
2009-07-17 15:03:57 -04:00
Adam Jackson
ef2bb08c76 loader: remove dead LoaderCheckUnresolved 2009-07-17 15:03:57 -04:00
Adam Jackson
2c57a7aa07 xfree86: Remove some #if 0
This code all lives in xf86Modes.c now anyway
2009-07-17 15:03:56 -04:00
Adam Jackson
1a8c89683f xfree86: Remove TargetRefresh option
This was a vestige from the days before we'd make the mode list from the
EDID data, and from CRT technology when you could reasonably assume that
higher refresh rates were better.  Also it did not function as advertised,
acting as a high-pass filter instead of a band-pass.
2009-07-17 15:03:56 -04:00
Peter Hutterer
d3f6b43a24 Update to xextproto 7.0.99.1.
xextproto had Xlib client headers moved into libXext.
Protocol header files are named fooproto.h, header files with constants
foo.h or fooconst.h where foo.h was already in use for client-side headers.
2009-07-15 17:00:05 +10:00
Tiago Vignatti
686e486730 xfree86: remove a bunch of unused pci headers
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2009-07-14 17:11:13 +03:00
Peter Hutterer
ad508c93c2 xfree86: switch to byte counting functions
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-07-14 10:13:44 +10:00
Tiago Vignatti
aafcae79d1 xfree86: remove unused vbe header file
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Acked-by: Oliver McFadden <oliver.mcfadden@nokia.com>
2009-07-10 16:34:09 +03:00
Adam Jackson
e812103382 config: drop i810.
The driver assuredly no longer builds against 1.7.  Please don't feel
compelled to fix it.
2009-07-09 10:58:17 -04:00
Keith Packard
5aec727452 Remove old DRI2 buffer alloc/free interfaces
These old interfaces are no longer supported by the server, removing them
requires bumping the video driver ABI. Note that this is not guaranteed to
be the last change in ABI version 6.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2009-07-06 12:01:22 -07:00
Matthias Hopf
43ee8d2ead Unclaim PCI slot if driver probing fails.
Otherwise no subsequent driver will be able to claim this pci slot.
Example for this: fbdev tries to claim, but framebuffer device is not
available. Later on VESA cannot claim the device.
2009-07-06 18:38:26 +02:00
Felix Kuehling
3525d14056 Export symbols needed by the RandR implementation in fglrx
GIT change
http://cgit.freedesktop.org/xorg/xserver/commit/?id=45c8bd0fe54273039fdaa1eeeafb81b5774f2c75
changed the default symbol visibility of the Xserver. As a result 2 symbols
that are needed by the RandR 1.2/1.3 implementation in the fglrx driver are no
longer visible:

xf86configptr
xf86CursorScreenKey

We would like to get these two symbols _X_EXPORT'ed before Xserver 1.7 is
released. Otherwise it will be problematic for fglrx to support RandR 1.3 on
Xserver 1.7.

In the future, we may want to sync our RandR implementation to later versions
of the RandR implementation in hw/xfree86/modes. Therefore it would be nice if
all symbols used by the Xserver RandR implementation were _X_EXPORT'ed in the
future.
2009-06-30 20:07:30 -04:00
Oliver McFadden
ce3d539ac6 xf86Config: Avoid attempting to load non-compiled modules.
Acked-by: Daniel Stone <daniel@fooishbar.org>
2009-06-24 00:25:39 +03:00
Adam Jackson
eb35402d0a pci: Dump vendor/devices ids in the printed device list 2009-06-19 12:42:07 -04:00
Søren Sandmann Pedersen
c733660428 Use pixman_version_string() instead of PIXMAN_VERSION_STRING
Pointed out by Julien Cristau.
2009-06-19 08:37:54 -04:00
Dave Airlie
aef6b904eb fbdev: make entity fail if PCI claimed already.
bad kitty fbdev, been shipping this in Fedora for a while now
2009-06-19 13:28:21 +10:00
Søren Sandmann Pedersen
d9b5e77a0e Print the current version of pixman. 2009-06-18 12:36:10 -04:00
Benjamin Close
14581afb47 xfree86: correctly define barriers for FreeBSD amd64
Previously when compiling on freebsd amd64 we'd end up at xi86
block (line 1315) which would define mem_barrier and write_mem_barrier
to be NOP's. Instead they should be valid, as per the linux amd64 setup.

This stops the hangs experienced by many when using the nv driver
which would hang due to out of order dma requests as noticed in
http://bugs.freedesktop.org/show_bug.cgi?id=3168

Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
2009-06-17 15:58:03 +09:30
Peter Hutterer
a30fef9956 input: Add labels to buttons and valuators - ABI_XINPUT_VERSION 7
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-18 14:41:47 +10:00
Peter Hutterer
6de67d3206 Merge branch 'master' into xi2 2009-06-03 16:11:33 +10:00
Adam Jackson
71a83d68ab xfree86: Remove loader symbol list ABI stubs
These have been nops since 2006 and functionally void since 7.0.
2009-05-28 15:32:03 -04:00
Peter Hutterer
d7aef3f663 Merge branch 'master' into xi2
Conflicts:
	Xext/geext.c
	Xi/chdevcur.c
	Xi/extgrbdev.c
	Xi/xiproperty.c
	configure.ac
	dix/ptrveloc.c
	hw/xfree86/common/xf86Config.c
	mi/mipointer.h
	test/input.c
	xkb/xkb.c
2009-05-28 17:20:58 +10:00
Adam Jackson
2107becb0c xfree86: Remove unused (and useless) xf86{Add,Delete}ModuleInfo 2009-05-27 17:13:19 -04:00
Matthieu Herrb
c70511931c fix typo in cabff9007 which led to an unintialized memory read and a crash. 2009-05-24 10:33:40 +02:00
Peter Hutterer
eeffb83fea ABI_XINPUT_VERSION 6 2009-05-22 15:44:57 +10:00
Peter Hutterer
b12d302df8 Input: rename DeviceIntRec->isMaster to ->type.
isMaster is not enough as long as we differ between master pointers and
keyboard. With flexible device classes, the usual checks for whether a
master device is a pointer (currently check for ->button, ->valuators or
->key) do not work as an SD may post an event through a master and mess this
check up.

Example, a device with valuators but no buttons would remove the button
class from the VCP and thus result in the
IsPointerDevice(inputInfo.pointer) == FALSE.

This will become worse in the future when new device classes are introduced
that aren't provided in the current system (e.g. a switch class).

This patch replaces isMaster with "type", one of SLAVE, MASTER_POINTER and
MASTER_KEYBOARD. All checks for dev->isMaster are replaced with an
IsMaster(dev).
2009-05-22 15:44:50 +10:00
Peter Hutterer
cabff9007a xfree86: treat other drivers as mouse drivers in the config.
Historically, if no input device was referenced in the ServerLayout,
the server would pick the first "mouse" device found in the xorg.conf.
This patch gives evdev, synaptics, vmmouse and void the same status. If
there is a section in the config file using this driver - use it as the core
pointer.

Device selection is in driver-order, not in config-order. If a "mouse"
device is listed after a "synaptics" device, the "mouse" device gets
preference. This replicates the original behaviour.

This code only takes effect if AllowEmptyInput is off and there is no core
pointer in the server layout.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-22 12:24:21 +10:00
Peter Hutterer
5b5e3fa277 xfree86: treat other drivers as mouse drivers in the config.
Historically, if no input device was referenced in the ServerLayout,
the server would pick the first "mouse" device found in the xorg.conf.
This patch gives evdev, synaptics, vmmouse and void the same status. If
there is a section in the config file using this driver - use it as the core
pointer.

Device selection is in driver-order, not in config-order. If a "mouse"
device is listed after a "synaptics" device, the "mouse" device gets
preference. This replicates the original behaviour.

This code only takes effect if AllowEmptyInput is off and there is no core
pointer in the server layout.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-21 11:59:16 +10:00
Peter Hutterer
47a89b1cba Xi: remove DeviceIsPointerType
This approach is broken anyway. DIPT only checked for the XInput type
"MOUSE" and the only user of this is xf86ActivateDevice when it sets the
Activate/DeactivateGrab functions.
Since synaptics and wacom set their own types, evdev only sets MOUSE for,
well, mice half the devices didn't have this set correctly anyway.

Instead, ActivatePointerGrab should be merged together with
ActivateKeyboardGrab.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-20 16:22:24 +10:00
Peter Hutterer
273890924b input: reduce the number of superfluous hierarchy events
There's only two reasons for hierarchy events:
- device is added, removed, etc. In this case we want to send the event as
  it happens.
- devices are added in a XIChangeDeviceHierarchy request. In this case we
  only want one event cumulating all changes.
2009-05-16 12:20:58 +10:00
Peter Hutterer
e3f296d91d xfree86: Remove superfluous ifdef DEBUG checks.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:20:57 +10:00
Peter Hutterer
2f6253376d xfree86: Remove superfluous ifdef DEBUG checks.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:01:23 +10:00
Matt Turner
c1bbac2708 Fix mem_barrier() on Alpha
Some clean up (da086901c6) went a bit
too far and removed the needed mem_barrier macro on Alpha.

This re-adds it.
2009-05-14 16:03:04 -04:00
Michel Dänzer
2c1190f888 randr12: Initialize and keep track of updates to VidMode extension gamma value.
This way clients querying the gamma value via the VidMode extension at least
get the last value set via the same, rather than always something bogus.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-14 11:39:16 +02:00
Peter Hutterer
0d947aa8e8 xfree86: fix xf86PostMotionEventP type checking
We only put internal events into the queue now, so let's check for ET_Motion
rather than the MotionNotify.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:33:23 +10:00
Peter Hutterer
7ab5e9b97c xfree86: fix xf86PostMotionEventP type checking
We only put internal events into the queue now, so let's check for ET_Motion
rather than the MotionNotify.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:24:12 +10:00
Peter Hutterer
44044adc92 xfree86: print a message if NIDR fails due to AutoAddDevices off.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-01 09:07:39 +10:00
Eamon Walsh
57aff88c7d Fix most remaining deprecated resource lookups.
Callsites updated to use dixLookupResourceBy{Type,Class}.
TODO: Audit access modes to make sure they reflect the usage.
2009-04-29 01:04:37 -04:00
Peter Hutterer
737b49199a xfree86: restore default off for DontZap
Zapping is triggered by xkb these days, so note in the man page that it's the
Terminate_Server action. Since it's XKB, personal preferences towards or
against zapping should be achieved through xkb rulesets.
If Terminate_Server is not in the xkb actions, then we can't zap anyway and we
don't need a default of DontZap "on".

This patch restores the old meaning of DontZap - disallow zapping altogether,
regardless of XKB's current keymap.
Ideally, this patch should be accompanied by b0f64bdab00db652e in
xkeyboard-config.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 16:17:16 +10:00
Adam Jackson
ad76656f88 randr: Accept gamma set requests from XF86VidMode clients too 2009-04-17 17:47:54 -04:00
Ander Conselvan de Oliveira
efa31092d6 xfree86: Remove device from inputInfo.devices if ActivateDevice failed.
After the call to xf86ActivateDevice, the new device will be added to
inputInfo.devices. However, if the subsequent call to ActivateDevice
fails, the correponding InputInfoRec for the device is deleted but an
entry still remains in inputInfo.devices. This might lead to a server
crash later on (on InitAndStartDevices for instance) when the device
control proc would be called for an invalid device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-15 12:17:57 +10:00
Peter Hutterer
d79bad0aa7 xfree86: don't synthesise a mouse section if synaptics devices are found.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-15 12:17:57 +10:00
Alan Coopersmith
a0b6a363dc Lift fatal signal handlers from DDX'es up to a common DIX implementation
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-04-09 17:10:12 -07:00
Peter Hutterer
6b467bf879 xfree86: shut up compiler warnings - typecast to InternalEvent
Reported-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-09 20:50:32 +10:00
Peter Hutterer
8a2a184da7 xfree86: fix use of uninitialized variable in DGAProcessPointerEvent.
Reported-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-09 20:50:32 +10:00
Alan Coopersmith
66539cc05d Don't leak default font path when appending built-ins
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-04-07 10:08:56 -07:00
Adam Jackson
69e73e5ce0 config: Remove useless xf86conf{{m,c,re}alloc},free} macros 2009-04-06 17:56:49 -04:00
Adam Jackson
aa6fbc2a36 Remove some OS/2 leftovers. 2009-04-06 10:58:47 -04:00
Julien Cristau
e1338d2714 xfree86: Remove unused DEFAULT_UNRESOLVED and DEFAULT_BEST_REFRESH macros 2009-04-04 23:47:36 +02:00
Adam Jackson
6574ab092f DPMS: Remove the defaultDPMS* variables 2009-04-03 18:22:20 -04:00
Adam Jackson
c1cf36ee29 DPMS: Simplify command line parsing 2009-04-03 18:22:20 -04:00
Adam Jackson
2d0a4fff79 DPMS: Remove unused DPMSGet() 2009-04-03 18:22:20 -04:00
Adam Jackson
a99b0ab918 DPMS: Fix cast abuse 2009-04-03 18:22:19 -04:00
Adam Jackson
7d94414cf4 input: Remove xf86ReloadInputDevs hack
We have input hotplug now, no need to fake it.
2009-04-01 09:42:06 -04:00
Adam Jackson
8e7facfe30 config: Fall back to vesa for Intel Poulsbo. 2009-03-27 15:48:17 -04:00
Simon Thum
1a71862d33 dix/xfree86: simplified velocity approximation algorithm
Replace multi-stage filtering with simple linear velocity,
tracked several instances backwards. A heuristic ensures
only approximately linear motion is considered, so velocity
remains valid in any case. Numerical stability is much
better, and nothing changes to people who didn't tune the
advanced features of the previous algorithm.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-20 14:48:57 +10:00
Peter Hutterer
be6dc9023b xfree86: remove a superfluous assignment.
If dev is NULL, we don't have a VCP and that means we have other issues
anyway.
2009-03-16 13:29:07 +10:00
Adam Jackson
fc5e8dc4a2 Unexport xf86SetPriority 2009-03-13 14:00:37 -04:00
Ander Conselvan de Oliveira
544cd9e7b5 Honour Option "DPMS" "off" on xorg.conf
Signed-off-by: James Cloos <cloos@jhcloos.com>
2009-03-12 14:50:59 -04:00
Simon Thum
7abb72c5c7 xfree86: remove obsolete code
remove a few lines which redo part of the pointer acceleration
init. Properties is the way to go for them.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-12 11:03:29 +10:00
Winfried Grünewald
d1338a9480 [hw/xfree86] Fix StaticGray cmap.
Fix this bug report:

,----< from http://bugzilla.freedesktop.org/show_bug.cgi?id=20504 >
| Using the Visual StaticGray (8 bit depth) is missing one gray level.
| The gray level of index zero and index one are the same and all
| other levels are shifted by one. The max level (255) cannot be used.
`----

Signed-off-by: James Cloos <cloos@jhcloos.com>
2009-03-06 12:59:35 -05:00
Tomas Carnecky
57bed76e21 Remove dead EXTENSION_PROC_ARGS define
Signed-off-by: Tomas Carnecky <tom@dbservice.com>
2009-03-04 10:29:34 -05:00
Topi Kanerva
c4081fee09 Make DGA optional. 2009-03-04 10:23:10 -05:00
Peter Hutterer
d84a2f855d xfree86: Add linebreak to two debug statements.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-03 16:53:11 +10:00
Adam Tkac
1df6716281 xfree86: don't try to UnInit virtual devices in DIDR. (#20087)
DeleteInputDeviceRequest function doesn't handle "virtual" devices well.
TightVNC libvnc.so module to X (which makes bare Xorg VNC capable) uses such
kind of devices.

Bare Xvnc (it is something like Xvfb) simply uses AddInputDevice &
RegisterDevice functions. Xvnc uses DeleteInputDeviceRequest from Xi/stubs.c
so everything works fine (now I see that DeleteInputDeviceRequest in
Xi/stubs.c should call RemoveDevice function, shouldn't it? :) )

Situation is quite different when you use libvnc.so module. It uses same
schema as Xvnc, so it simply calls AddInputDevice & RegisterDevice. Thus
device is created correctly. When server is terminated it calls
DeleteInputDeviceRequest (now from hw/xfree86/common/xf86Xinput.c) for each
device. Here is the difference - Xvnc calls DeleteInputDeviceRequest from
Xi/stubs.c as I wrote above. Thus Xorg gets sigsegv because "VNC" devices
don't have real input driver.

X.Org Bug 20087 <http://bugs.freedesktop.org/show_bug.cgi?id=20087>

[This isn't really a fix (libVNC should behave correctly) but not crashing the
server sounds like an improvement.]
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23 18:54:56 +10:00
Peter Hutterer
47f136ed6f mi: change custom handlers to internal events
This should re-enable DGA, but XQuartz needs to be changed to internal events
too now.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23 17:52:40 +10:00
Peter Hutterer
a371853698 dix: Deliver{Grabbed|Focused|Device}Events API changed to InternalEvents.
With the API change, we can now purge the XI conversion from POE.

Note: this commit breaks DGA even more.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23 17:52:39 +10:00
Peter Hutterer
8829d966a6 Xi: support InternalEvents in UpdateDeviceState, parts of POE and EnqueueEvent
Note that this breaks DGA. Life is tough.

EnqueueEvent is a somewhat half-baked solution, we immediately drop back into
XI and store them. But it should in theory work.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

Don't let the dcce be random data.
2009-02-23 17:52:39 +10:00
Alan Coopersmith
e0a451eb7c Obsolete InputDevices keyword in xorg.conf Files section
Was only used to provide a list of input devices that XF86-Misc could use,
now that XF86-Misc is gone, was parsed and logged, then completely ignored.

(Depends on previous patch that introduces OBSOLETE_TOKEN in parser to
 make obsolete keywords like InputDevices & RgbPath be non-fatal errors.)

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2009-02-18 14:50:25 -08:00
Keith Packard
76f18b94bd Add XkbDir to Files config file section
The XKB base directory was not configuable through the config file.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-02-17 11:01:15 -08:00
Adam Jackson
a9d7d659a0 PCI: Remove pciBusAddrToHostAddr and associated nonsense
This was all a glorified no-op.  We rely on pciaccess to create device
maps anyway, so we should have no reason to care about what the host
address is.

Acked-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2009-02-16 16:46:39 -05:00
Adam Jackson
ae68be3126 Input: Don't re-block SIGIO in xf86SigioReadInput()
It's already blocked on the way in, because we asked for it to be
blocked at sigaction() time.
2009-02-13 17:25:32 -05:00
Alan Coopersmith
ac470dfb4f Check for and report errors writing xorg.conf.new from Xorg -configure
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-02-12 18:34:22 -08:00
Alan Coopersmith
bd713794ce Correct error message if specified config file is not found
By making the "Unable to open config file" header a warning, it was
not appearing with the filename when a config file was specified and
not found.   Now we make it an error message again, but only issue
the error if a filename was specified - if none was specified, then
we don't even issue a warning, just the "Using autoconfig" info message.

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-02-12 18:23:59 -08:00
Matt Turner
da086901c6 Remove unused barrier macros on alpha. 2009-02-06 18:31:12 -05:00
Adam Jackson
db83671519 Revert "Bus: Remove xf86SetAccessFuncs() and related machinery"
This reverts commit 2fe79990e3.

Reminder: nvidia uses this, because other parts of RAC are broken in
worse ways, and it needs to disable that.
2009-02-04 23:27:32 -05:00
Adam Jackson
2fe79990e3 Bus: Remove xf86SetAccessFuncs() and related machinery
Only mga was using this, and even then only behind an ifdef that no one
ever built.  Not a great idea in the first place.
2009-02-04 22:49:37 -05:00
Adam Jackson
9ff6180161 Bus: Delete some obfuscatory macros 2009-02-04 22:49:33 -05:00
Adam Jackson
8eca37cb89 Bus: Remove unused xf86ExtractTypeFromList 2009-02-04 22:48:52 -05:00
Adam Jackson
b013111e98 Bus: make the resource list static. 2009-02-04 22:47:54 -05:00
Tomas Carnecky
9f60d127b5 Fix "warning: braces around scalar initializer"
Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-04 09:45:03 +10:00
Tomas Carnecky
bc57efffe6 Fix "warning: unused variable XXX"
events.c:4614: warning: unused variable ‘kbd’
xkbUtils.c:361: warning: unused variable ‘maxKeysPerMod’
xf86Events.c:409: warning: unused variable ‘ke’
generic.c:131: warning: unused variable ‘cs’
generic.c:130: warning: unused variable ‘size’
xf86RandR12.c:591: warning: unused variable ‘crtc’

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-04 09:41:25 +10:00
Maarten Maathuis
3903e23153 XKB: ifdef XKB is dead, yet it was still present in a few places. 2009-01-29 12:42:57 +01:00
Daniel Stone
4fa3872dc2 Input: Remove core keysyms from KeyClassRec
Instead of always keeping two copies of the keymap, only generate the
core keymap from the XKB keymap when we really need to, and use the XKB
keymap as the canonical keymap.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:08:59 +11:00
Daniel Stone
6727ee9408 Input: Remove state from KeyClassRec
We already have state fully stored within XKB, so instead of duplicating it,
just generate the values to send to clients when required.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:08:55 +11:00
Daniel Stone
08363c5830 Input: Overhaul keyboard initialisation process
XkbInitKeyboardDeviceStruct is now the only valid keyboard
initialisation: all the details are hidden behind here.  This now makes
it impossible to supply a core keymap at startup.

If dev->key is valid, dev->key->xkbInfo->desc is also valid.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:08:51 +11:00
Daniel Stone
40877c6680 XKB: Make XKB mandatory
No more #ifdef XKB, because you can't disable the build, and no more
noXkbExtension either.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:06:25 +11:00
Daniel Stone
d929ba6886 XFree86: Input: Fail NIDR if we can't enable devices
If we can't enable a device, bail out of NewInputDeviceRequest rather than
blithely continuing. Also, be more verbose when initialization failed. Also,
be more verbose when initialization failed. Also, be more verbose when
initialization failed. Also, be more verbose when initialization failed.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-20 15:32:19 +11:00
Simon Thum
1d54479cb3 xfree86: init properties when ptraccel configuration is found.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Simon Thum <simon.thum@gmx.de>
2009-01-15 09:28:55 +10:00
Julien Cristau
17c8cb5099 xfree86: don't mix declarations and code 2009-01-11 08:54:11 +01:00
Julien Cristau
aec4c0caca xfree86: ANSI cleanups 2009-01-11 08:54:11 +01:00
Paulo Cesar Pereira de Andrade
9a313fb031 Don't call free, use xfree macro.
There are several other direct calls to free, check
% egrep '\<free\(' `find . -name \*.c`
but they are free'ing memory from explicit malloc calls.
This one was not intended, and corrected, so that it would
both, follow the conventions everywhere (and work on some
libc that doesn't like free(0)), and make it easier to use
malloc wrappers.
2009-01-07 23:07:01 -02:00
Paulo Cesar Pereira de Andrade
49b93df8a3 Default to use standard bitmap fonts, with builtins as fallback
The builtin-fonts configure option was removed, as it at best should
have been a runtime option. Instead, now it always register all "font
path element" backends, and adds built-ins fonts at the end of the
default font path.
  This should be a more reasonable solution, to "correct" the most
common Xorg FAQ (could not open default font 'fixed'), and also don't
break by default applications that use only the standard/historical
X Font rendering.
2009-01-07 19:37:03 -02:00
Daniel Stone
3387cbb7c1 XFree86: Xv: Add ClipNotify helper
Add a ClipNotify helper that lets the driver know about changes in the
clipping of an Xv backing drawable.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2009-01-05 11:25:57 +02:00
Daniel Stone
7da4e901e0 XFree86: Fix build with DGA disabled
It's optional, so we might as well work when it's disabled.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2009-01-05 11:23:39 +02:00
Peter Hutterer
27011254c4 xfree86: If an input device failed to activate, return immediately.
Devices are only activated once - right after they've been added to the
server. If a device failes activation, it's dead. There's no reason to
continue. Return the error code from ActivateDevice() without setting up
sprite information or even sending a event to the client.

Then - in the DDX - just remove the device again.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-05 11:05:13 +10:00
Peter Hutterer
e1a3a1a0d8 xfree86: don't call CheckMotion if a device hasn't been enabled. #19176
X.Org Bug <http://bugs.freedesktop.org/show_bug.cgi?id=19176>
2009-01-05 11:05:13 +10:00
Alan Coopersmith
89bbd07e9d Remove obsolete XF86_DATE & xf86Date.h 2008-12-23 21:40:21 -08:00
Alan Coopersmith
8dc3a7d681 Remove unused CLOG_DATE (leftover from pre-git ChangeLog) 2008-12-23 14:59:46 -08:00
Alan Coopersmith
fe05a46f19 Remove powerpc load/store functions from export list on other platforms 2008-12-23 14:58:01 -08:00
Maarten Maathuis
91f73b79b7 randr: Improve per-crtc gamma support.
- The Gamma values from the monitor section are now used during initial config.
- The old colormap system is disabled when gamma set hook is available.
- Gamma values are now persistent for the lifetime of the xserver.
- This requires no driver changes and should be driver ABI compatible.
2008-12-17 17:03:12 +01:00
Adam Jackson
1bb5a919f4 config: Add vboxvideo and tga to the magic driver list
Also sort the list while I'm here.
2008-12-16 13:46:59 -05:00
Peter Hutterer
cb95642dc8 Remove #define NEED_EVENTS and NEED_REPLIES
A grep on xorg/* revealed there's no consumer of this define.

Quote Alan Coopersmith:
"The consumer was in past versions of the headers now located
in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h,
all the event definitions were only available if NEED_EVENTS were
defined, and all the reply definitions required NEED_REPLIES.

Looks like Xproto.h dropped them by X11R6.3, which didn't have
the #ifdef's anymore, so these are truly ancient now."

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-12-12 11:43:32 +10:00
Simon Thum
920b7622be xfree86: dump the ptraccel filter setup to the log on init.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-12 11:43:31 +10:00
Paulo Cesar Pereira de Andrade
7c8720c143 Correct wrong symbol reference on sparc.
The awk script was incorrectly referencing the struct name, and
not the struct variable.
  Also added some comments to sdksyms.sh, for the reason it generates
the "symbol table" and add a message to the generated file, telling
is was automatically generated.
2008-12-08 22:11:50 -02:00
Peter Hutterer
39db182b63 xfree86: init EQ before trying to initialise the devices (#18890)
The kbd driver may send events during device initialisation, and these events
need the EQ set up already.

X.Org Bug 18890 <http://bugs.freedesktop.org/show_bug.cgi?id=18890>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-08 13:46:12 +10:00
Peter Hutterer
13de7511b1 xfree86: Only use the evdev ruleset on linux.
As suggested by Julien Cristau

This is an follow-up to
commit 9c5dd7337f
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Wed Dec 3 14:24:25 2008 +1000

    Let the DDX decide on the XkbRulesDefaults.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Acked-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2008-12-08 12:05:48 +10:00
Peter Hutterer
8e32791349 xfree86: fix compiler warning (use of uninitialized variable)
drv and idev are only set for SDs, but are only dereferenced for SDs too, so
initializing them to NULL is safe.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-08 12:05:46 +10:00
Paulo Cesar Pereira de Andrade
bf4c29ab48 Correct xf86acpiDisableFlag symbol.
It is declared as
<hash>ifdef HAVE_ACPI
Bool xf86acpiDisableFlag = FALSE;
<hash>endif
in hw/xfree86/common/xf86Globals.c
but not protected by the ifdef in the sdk header xf86Priv.h, what
caused a build failure in the tinderbox, due to the address of the
symbol being taken (to ensure it is available) in sdksyms.c.
2008-12-07 05:12:41 -02:00
Paulo Cesar Pereira de Andrade
b1dac41fb3 Use libtool convenience libraries and better "symbol" table.
All .a libraries were converted to .la, and instead of linking the
Xorg binary with a mix of .a and .la, and adding some libraries more
then once in the command line, etc, now it generates a single libxorg.la
from all the required convenience libraries, and links with a dummy
xorg.c (that should usually be the file with the main function...).
This removes the requirement of some things like libosandcommon and
libinit, that existed to circumvent problems when linking multiple
.a and .la in the final Xorg binary.

  The "symbol table" is now generated dynamically, by a shell script,
with an embedded gawk parser that parses cpp output. The new file
sdksyms.sh is generated by hand by analyzing all Makefile.am's and
making it create a sdksyms.c file, that includes all sdk headers that
will add symbols for the Xorg binary. Module headers aren't read, and
a in 2 files it was required to add a "<hash>ifndef XorgLoader" around
declarations shared between the Xorg binary and libextmod. A few
other changes were added to other sdk headers, like preventing
multiple inclusion, or including other headers to satisfy dependencies.

  This should be a lot more portable, and better (hopefully properly)
using libtool to generate convenience libraries.
2008-12-07 02:22:19 -02:00
Paulo Cesar Pereira de Andrade
44c8c3cf7d Remove static symbol address tables in hw/xfree86/loader/*sym.{c,h}
Those tables were once used to decide what symbols are visible to
modules, but they were outdated. The only real usage was that, since
it was taking the address of symbols, linkage should fail if the
symbols were not available.
  Now the proper way to make symbols available to modules should
be to use the _X_EXPORT macro, or not compile with hidden symbols,
so that all symbols would be available.
  All symbols in the tables were revised to ensure they are exported,
and only symbols that were not exported are ClientSleepUntil() and
DuplicateModule(), that were not in the sdk for quite some time
already, and should not have any users outside of the X Server
(and/or builtin modules).
2008-12-05 04:26:57 -02:00
Paulo Cesar Pereira de Andrade
75b02dd0be Include <X11/Xfuncproto.h> if _X_EXPORT is not defined. 2008-12-03 14:46:30 -02:00
Timo Aaltonen
dd128ddcdc If AEI is on, disable 'vmmouse' in addition to 'kbd' and 'mouse'.
Signed-off-by: Timo Aaltonen <tjaalton@cc.hut.fi>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-03 18:44:43 +02:00
Paulo Cesar Pereira de Andrade
49f77fff14 Rework symbol visibility for easier maintenance
Save in a few special cases, _X_EXPORT should not be used in C source
files. Instead, it should be used in headers, and the proper C source
include that header. Some special cases are symbols that need to be
shared between modules, but not expected to be used by external drivers,
and symbols that are accessible via LoaderSymbol/dlopen.

  This patch also adds conditionally some new sdk header files, depending
on extensions enabled. These files were added to match pattern for
other extensions/modules, that is, have the headers "deciding" symbol
visibility in the sdk. These headers are:
o Xext/panoramiXsrv.h, Xext/panoramiX.h
o fbpict.h (unconditionally)
o vidmodeproc.h
o mioverlay.h (unconditionally, used only by xaa)
o xfixes.h (unconditionally, symbols required by dri2)

  LoaderSymbol and similar functions now don't have different prototypes,
in loaderProcs.h and xf86Module.h, so that both headers can be included,
without the need of defining IN_LOADER.

  xf86NewInputDevice() device prototype readded to xf86Xinput.h, but
not exported (and with a comment about it).
2008-12-03 05:43:34 -02:00
Peter Hutterer
9c5dd7337f Let the DDX decide on the XkbRulesDefaults.
Rather than assuming rules in the CoreKeyboardProc, init the default rules in
InitCoreDevices, then re-use them later.

In the xfree86 DDX, set the rules to "base" or "evdev", depending on whether
we'll load kbd or evdev.

If we create a new MD, use pc105,us as default and re-use the rules file used
previously.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-03 16:10:40 +10:00
Alan Coopersmith
8561514574 Don't need to check uid/euid for every commandline argument
Check uid/euid only when handling the arguments that are restricted
to root/non-setuid users
2008-12-02 13:35:03 -08:00
Alan Coopersmith
6de6ffff35 Remove unused config flags from FlagValues & FlagOptions
FLAG_DISABLEMODINDEV, FLAG_MODINDEVALLOWNONLOCAL, & FLAG_HANDLE_SPECIAL_KEYS
2008-12-02 13:35:03 -08:00
Alan Coopersmith
3a690598cf Remove unused HandleSpecialKeys config option
Was only used by "keyboard" driver - the last place the value was checked
was in xf86PostKbdEvent, which was removed in commit
60ea7b51fe
2008-12-02 13:09:22 -08:00
Peter Hutterer
d507f60689 xfree86: don't FatalError on "too many input devices".
Just ignore devices after MAXDEVICES has been reached, but warn the user that
the devices are ignored.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-02 15:50:38 +10:00
Alan Coopersmith
6a1850b8c6 Correct warning for unknown GlxVisuals option in conf file 2008-12-01 19:58:14 -08:00
Alan Coopersmith
bd147e6f4b Remove hack to only load font modules if magic strings appear in font path 2008-12-01 16:08:55 -08:00
Jay Cotton
5f3f14179e Sun bug 6618220: Xorg server core dump in xf86RandRModeRefresh(NULL)
<http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6618220>
2008-12-01 16:06:09 -08:00
Paulo Cesar Pereira de Andrade
16b11cd03d Correct static symbol XkmReadTOC and first pass on compile warning fixes.
The warnings corrected were only the ones that should correct
real problems. The most common one is 64 bit integers as
"printf %l" arguments.
  Note that there is a patch related to this at:
http://bugs.freedesktop.org/show_bug.cgi?id=18204
2008-11-30 02:59:34 -02:00
Paulo Cesar Pereira de Andrade
fb22d4d928 Remove declarations of symbols that are never defined.
These symbols were removed from the X Server, or never declared.
  One symbol that may need special attention is XkbBuildCoreState(),
that doesn't have a prototype anywhere, but is called from
xkb/xkbEvents.c:XkbFilterEvents(), and also used by the macros
XkbStateFieldFromRec() and XkbGrabStateFromRec() defined in
include/xkbstr.h.
  fb/wfbrename.h also may need some cleanup, as it makes several
"renames" of non existing symbols.
2008-11-30 01:33:20 -02:00
Paulo Cesar Pereira de Andrade
d6cbd4511e Export symbols defined in the sdk.
This is the biggest "visibility" patch. Instead of doing a "export"
symbol on demand, export everything in the sdk, so that if some module
fails due to an unresolved symbol, it is because it is using a symbol
not in the sdk.

  Most exported symbols shouldn't really be made visible, neither
advertised in the sdk, as they are only used by a single shared object.

  Symbols in the sdk (or referenced in sdk macros), but not defined
anywhere include:
XkbBuildCoreState()
XkbInitialMap
XkbXIUnsupported
XkbCheckActionVMods()
XkbSendCompatNotify()
XkbDDXFakePointerButton()
XkbDDXApplyConfig()
_XkbStrCaseCmp()
_XkbErrMessages[]
_XkbErrCode
_XkbErrLocation
_XkbErrData
XkbAccessXDetailText()
XkbNKNDetailMaskText()
XkbLookupGroupAndLevel()
XkbInitAtoms()
XkbGetOrderedDrawables()
XkbFreeOrderedDrawables()
XkbConvertXkbComponents()
XkbWriteXKBSemantics()
XkbWriteXKBLayout()
XkbWriteXKBKeymap()
XkbWriteXKBFile()
XkbWriteCFile()
XkbWriteXKMFile()
XkbWriteToServer()
XkbMergeFile()
XkmFindTOCEntry()
XkmReadFileSection()
XkmReadFileSectionName()
InitExtInput()
xf86CheckButton()
xf86SwitchCoreDevice()
RamDacSetGamma()
RamDacRestoreDACValues()
xf86Bpp
xf86ConfigPix24
xf86MouseCflags[]
xf86SupportedMouseTypes[]
xf86NumMouseTypes
xf86ChangeBusIndex()
xf86EntityEnter()
xf86EntityLeave()
xf86WrapperInit()
xf86RingBell()
xf86findOptionBoolean()
xf86debugListOptions()
LoadSubModuleLocal()
LoaderSymbolLocal()
getInt10Rec()
xf86CurrentScreen
xf86ReallocatePciResources()
xf86NewSerialNumber()
xf86RandRSetInitialMode()
fbCompositeSolidMask_nx1xn
fbCompositeSolidMask_nx8888x0565C
fbCompositeSolidMask_nx8888x8888C
fbCompositeSolidMask_nx8x0565
fbCompositeSolidMask_nx8x0888
fbCompositeSolidMask_nx8x8888
fbCompositeSrc_0565x0565
fbCompositeSrc_8888x0565
fbCompositeSrc_8888x0888
fbCompositeSrc_8888x8888
fbCompositeSrcAdd_1000x1000
fbCompositeSrcAdd_8000x8000
fbCompositeSrcAdd_8888x8888
fbGeneration
fbIn
fbOver
fbOver24
fbOverlayGeneration
fbRasterizeEdges
fbRestoreAreas
fbSaveAreas
composeFunctions
VBEBuildVbeModeList()
VBECalcVbeModeIndex()
TIramdac3030CalculateMNPForClock()
shadowBufPtr
shadowFindBuf()
miRRGetScreenInfo()
RRSetScreenConfig()
RRModePruneUnused()
PixmanImageFromPicture()
extern int miPointerGetMotionEvents()
miClipPicture()
miRasterizeTriangle()
fbPush1toN()
fbInitializeBackingStore()
ddxBeforeReset()
SetupSprite()
InitSprite()
DGADeliverEvent()

  SPECIAL CASES
o defined as _X_INTERNAL
	xf86NewInputDevice()
o defined as static
	fbGCPrivateKey
	fbOverlayScreenPrivateKey
	fbScreenPrivateKey
	fbWinPrivateKey
o defined in libXfont.so, but declared in xorg/dixfont.h
	GetGlyphs()
	QueryGlyphExtents()
	QueryTextExtents()
	ParseGlyphCachingMode()
	InitGlyphCaching()
	SetGlyphCachingMode()
2008-11-29 23:56:06 -02:00
Paulo Cesar Pereira de Andrade
31285d063e Make visible symbols required by xorg modules.
This patch exports all symbols required by the compilable
(in a x86 linux computer) xorg/driver/* modules.
  Still missing symbols worth mentioning are:

sunleo
	miFindMaxBand no longer available

intel	(uxa/uxa-accel.c)
	fbShmPutImage no longer available (and should have been static)

mga
	MGAGetClientPointer (should come from matrox's libhal)

  This is not a definitive "visibility" patch, as all it does is to
export missing symbols, but the modules that current don't compile,
may require more symbols once fixed, and third party drivers should
also require more symbols exported.
  A "definitive" patch should export symbols defined in the sdk.
2008-11-28 01:55:11 -02:00
Julien Cristau
6f18ea7e65 Typo fix 2008-11-27 14:45:33 +01:00
Alan Coopersmith
d5f9a131a2 Fix const-mismatch warnings for DisplayModePtr's
Includes fixes for:
"xf86Config.c", line 2434: warning: argument #1 is incompatible with prototype:
	prototype: pointer to struct _DisplayModeRec: "xf86.h", line 351
	argument : pointer to const struct _DisplayModeRec

"xf86EdidModes.c", line 312: warning: argument #1 is incompatible with prototype:
	prototype: pointer to struct _DisplayModeRec: "../../../hw/xfree86/common/xf86.h", line 351
	argument : pointer to const struct _DisplayModeRec

"xf86EdidModes.c", line 438: warning: assignment type mismatch:
	pointer to struct _DisplayModeRec "=" pointer to const struct _DisplayModeRec

"xf86Modes.c", line 701: warning: assignment type mismatch:
	pointer to struct _DisplayModeRec "=" pointer to const struct _DisplayModeRec
2008-11-25 15:51:17 -08:00
Adam Jackson
8b9253f638 Code motion: subsume xf86DoProbe.c into xf86Init.c 2008-11-25 15:05:17 -05:00
Adam Jackson
47478aa10a Remove xf86{En,Dis}ableInterrupts entirely 2008-11-24 23:40:06 -05:00
Adam Jackson
c7680befe5 Remove the remnants of Jensen support
As being an EISA-only machine, and as ISA support is gone now...
2008-11-24 23:40:06 -05:00
Adam Jackson
df14682a31 Bus: Remove ISA support.
No, really.  PCI is old enough to drive now.  If you want this, get the kernel
to expose a framebuffer device.
2008-11-24 23:40:06 -05:00
Adam Jackson
a8bcab2d3b Bus: Remove yet more unused overlap processing. 2008-11-24 23:40:06 -05:00
Adam Jackson
994b7c034f Bus: Don't pretend to care about IRQs, DMA, or PCI config space 2008-11-24 23:40:05 -05:00
Adam Jackson
eb5ae45127 Bus: Simplify a failure case (that pretty much never happens) 2008-11-24 23:40:05 -05:00
Adam Jackson
ee8b5cf94c Bus: Trust the kernel when registering driver resources
... everywhere, not just (linux && (ia64 || alpha)).
2008-11-24 23:40:05 -05:00
Adam Jackson
8397df8945 Remove unused MIN macro 2008-11-24 23:40:05 -05:00
Adam Jackson
c251c0baae Bus: remove special handling for init-only resources
This isn't used by any driver, nor has it ever been as far as I can
tell.
2008-11-24 23:40:04 -05:00
Adam Jackson
6b198daa46 Bus: remove useless isaConvertRange2Host 2008-11-24 23:40:04 -05:00
Adam Jackson
a96db74c2a Bus: Don't try to find an ISA bus just for fun. 2008-11-24 23:40:04 -05:00
Adam Jackson
b21311a99d Bus: Remove unused RemoveOverlaps 2008-11-24 23:40:03 -05:00
Adam Jackson
41be6b3f0d Bus: Remove the notion of estimated resources. 2008-11-24 23:40:03 -05:00
Adam Jackson
095ba14355 Bus: remove the "reducer"
This code effectively didn't do anything anymore.
2008-11-24 23:40:03 -05:00
Adam Jackson
51e105ccc3 Remove xf86GetResourcesImplicitly 2008-11-24 23:40:02 -05:00
Alan Coopersmith
599a0f3f1e Fix typo in 5bf2c88d23
Amazing how these things hide until you see the diff come back from
the commit list.
2008-11-24 20:37:58 -08:00
Alan Coopersmith
5bf2c88d23 Simplify filename generation code for Xorg -configure 2008-11-24 20:34:46 -08:00
Peter Hutterer
554592cd70 DGA: silence compiler warning.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-24 11:50:57 +10:00