Commit Graph

2502 Commits

Author SHA1 Message Date
Matthias Hopf
cadf65a6e1 randr: Nuke broken set_origin shortcut
Shortcut is impossible to implement this way, because we don't know for sure
whether the crtc of an output has changed or not.
2009-03-10 15:49:49 +01: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
Tomas Carnecky
a6fb9f4ccf Remove dead XTest code from extmod
Signed-off-by: Tomas Carnecky <tom@dbservice.com>
2009-03-04 10:27:30 -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 Jackson
8a6ed44a8b randr: Fix thinko in xf86TargetPreferred
The only-one-output case would only work right if that also happened to
be the zeroth output.  Oops.
2009-03-02 14:26:23 -05:00
Adam Jackson
8c6b4a8276 DDC: Redo extended device probe slightly.
We'll now only mention the E-EDID segment register if the device is
actually E-EDID-capable.  While we're here, check for DDC/CI and
standard EEPROM support too.
2009-02-27 12:45:19 -05:00
Michel Dänzer
de022f8e63 Revert "EXA: Handle separate alpha maps properly in Composite fallback."
This reverts commit 170cf1270d.

Conflicts:

	exa/exa_render.c
2009-02-27 16:37:27 +01:00
Jon TURNEY
d0dd649035 Remove references to rgb.txt from files section of Xserver and Xorg man pages
The references to this file in the server code were removed in commit dda10c9066

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-27 14:42:59 +00:00
Keith Packard
c090f5514d Pre-clip panning coordinates to keep crtc within panning region
There is a separate panning region check, but that doesn't work under
transformation, so just pre-clip the mouse coordinates when computing the
panning offsets. This leaves the case where panning constants are changing
unresolved.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-02-25 10:14:36 -08:00
Michel Dänzer
170cf1270d EXA: Handle separate alpha maps properly in Composite fallback.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=18710 .

As this can't work without new EXA_PREPARE_AUX* indices, this requires a major
version bump, so we can also drop the UploadToScratch driver hook and
ExaOffscreenSwap*(). So this also fixes
http://bugs.freedesktop.org/show_bug.cgi?id=20213 .

Moreover, introduce EXA_DRIVER_KNOWN_MAJOR to break compilation of drivers
which may not be able to handle EXA_PREPARE_AUX*, giving instructions how to
make them build again in the #error message.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-02-24 09:22:09 +01:00
Michel Dänzer
ef320bdd5e DRI1: Make DRICreateDrawable return TRUE for pixmaps.
GLX_EXT_texture_from_pixmap was broken since commit
a26c77ff43 ('glx: fix retval checks when failures
occur for drawable creation.')

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-02-23 16:52:51 +01: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
ab61033700 Add Extensions section to xorg.conf man page
Extensions section was added in X11R6.8.0 and documented in the release notes:
   http://www.x.org/archive/X11R6.8.0/doc/RELNOTES2.html#3
but never made it into the man page.

Also fix a bonus typo.

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-02-20 16:11:38 -08: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
Alan Coopersmith
d2cf562bba Make RgbPath keyword in xorg.conf a non-fatal error
Xorg shouldn't refuse to run just because the user has an xorg.conf that
had the previously-used RgbPath keyword in it.

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-18 14:49:23 -08:00
Keith Packard
5394b7e662 Eliminate the shadow clear on transform change
When the crtc transformation changes, the entire crtc must be repainted.
This was being done by clearing the shadow and then painting the rectangle
containing the screen image; the clear being required as the screen image
may not fill the crtc. When changing the transform rapidly, this leads to
flashing. Eliminate the clear by painting the entire crtc instead of just
the screen rectangle.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-02-17 11:09:08 -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
Chris Ball
a932744d98 Build fix, remove export of pciBusAddrToHostAddr
a9d7d659.. (PCI: Remove pciBusAddrToHostAddr and associated nonsense)
removes pciBusAddrToHostAddr(), but not its prototype, resulting in:

./.libs/libxorg.a(sdksyms.o):(.data.rel+0xe64): undefined reference to
`pciBusAddrToHostAddr'

Signed-off-by: Chris Ball <cjb@laptop.org>
2009-02-16 18:29:33 -05:00
Julien Cristau
ab331aa76f xfree86: ModeDebug is a boolean, not a string
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-02-16 23:08:09 +01: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
be8c3d4022 Linux: Remove dead USE_DEV_FB #ifdefs 2009-02-16 16:44:55 -05:00
David Nusinow
6198373ff2 xorg.conf (5) refer to mousedrv (4). Debian #394058
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-02-16 15:05:38 +01:00
Chris Ball
45e14f5153 Build fix for xf86EdidModes.c
Commit 20ac314.. forgets to declare hsize/vsize/refresh.
2009-02-13 20:32:02 -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
Adam Jackson
20ac3140ce EDID: Hack for 1366x768 in standard timing descriptors
All you get for standard timing descriptors is horizontal size in
multiples of 8 pixels (which means you can't say 1366) and height in
terms of aspect ratio (which means you can't say 768).  You'd like to
just fuzzy-match this by walking the DMT list for sufficiently close
modes, but you can't because DMT is useless and only defines a 1360x768
mode, because it's _also_ specified in terms of character cells despite
providing pixel exact timings.  Neither can you use CVT or GTF to
generate the timings, because they _also_ believe that modes have to be
a multiple of 8 pixels.

You'd also hope you could find a timing definition for this in CEA, but
you can't because CEA only defines transmission formats that actually
exist.  So there's 480p, 720p, and 1080p, but no 768p.  And why would
there be, after all, the encoded signal is never 768p so obviously no
one would ever make a display in that format.

So instead, make a CVT mode since that's likely to be handled well by
just about everything, smash the horizontal active down by 2, and shift
the sync pulse by 1.  Underscanning the hard way.

Pass the suicide.
2009-02-13 15:12:06 -05:00
Adam Jackson
bcafdfbed6 RANDR: Validate entire mode list for interlace and doublescan
Otherwise drivers have to refuse interlace twice: once in the output
config, and once in ->valid_mode() to catch output and config modes.
If you can't do interlaced modes, asking nicely for it in the config
isn't going to suddenly make it work.
2009-02-13 14:06:07 -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
Eric Anholt
619c4d60eb glx: Replace broken GLX visual setup with a fixed "all" mode.
With trying to match depths so that you didn't end up with a depth 24
fbconfig for the 32-bit composite visual, I broke the alpha bits on the depth
24 X visual, which angered other applications.  But in fixing that, the
pickFBconfigs code for "minimal" also could end up breaking GLX visuals if
the same FBconfig was chosen for more than one X visual.
We have no reason to not expose as many visuals as possible, but the old
"all" mode didn't match any existing X visuals to GLX visuals, so normal
GL apps didn't work at all.

Instead, replace it with a simple combination of the two modes: Create GLX
visuals by picking unique FBconfigs with as many features as possible for
each X visual in order.  Then, for all remaining FBconfigs that are
appropriate for display, add a corresponding X and GLX visual.

This gets all applications (even ones that aren't smart enough to do FBconfigs)
get all the options to get the visual configuration they want.  The only
potential downside is that the composite ARGB visual is unique and gets a
nearly full-featured GLX visual (except that the root visual might have taken
the tastiest FBconfig), which means that a dumb compositing manager could
waste resources. Write compositing managers using FBconfigs instead, please.
2009-02-10 17:59:03 -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
Adam Jackson
bde028dd8d loader: Remove icache flushes on alpha.
If libdl doesn't already get this right for you, you have two problems.
2009-02-04 22:44:20 -05:00
Adam Jackson
910a1e88d2 loader: Remove a vestige of archive support 2009-02-04 22:44:16 -05:00
Adam Jackson
366f23c6eb loader: Remove useless call to LoaderGetOS
We know what OS you're running on anyway, it's printed in the uname
string at the top of the log.
2009-02-04 22:44:12 -05:00
Adam Jackson
05e415a5a3 loader: Simplify loader magic 2009-02-04 22:44:06 -05:00
Adam Jackson
bf1ca06a16 loader: Make a comment slightly less stupid 2009-02-04 22:44:01 -05:00
Adam Jackson
499908aeca loader: code motion. 2009-02-04 22:43:57 -05:00
Adam Jackson
28b6b1519c loader: Simplify handle allocation and refcounting. 2009-02-04 22:43:52 -05:00
Keith Packard
7968823cbc Handle the combination of panning and crtc transforms
This patch gets the shadow scanout buffer repainted on panning area changes.
It does not, however, track the mouse correctly.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-02-03 20:21:07 -08:00
Keith Packard
763df9eec7 Damage re-used shadow scanout buffer using new transforms.
When the shadow scanout buffer can be re-used, the underlying framebuffer
area must be damaged so that the scanout will be repainted. This patch
delays the addition of that damaged area until after the transform in the
crtc has been updated, otherwise the old transform would have been used and
the wrong area repainted.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-02-03 20:21:02 -08:00
Tomas Carnecky
7a3ddef3bc fbdevHWGetRec() doesn't return the private data
Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-04 09:53:03 +10: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
731a907ac2 Fix "warning: XXX defined but not used"
generic.c:80: warning: ‘read_legacy_video_BIOS’ defined but not used

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-04 09:41:40 +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
Aaron Plattner
01879e583b Don't enable XAA offscreen pixmaps with Option "XaaOffscreenPixmaps" "no".
xf86IsOptionSet is rarely the right function to use for boolean options because
it returns TRUE whenever the option is present, even if its value is "no",
"off", "0", etc.
2009-02-03 13:49:19 -08:00
Manuel Bouyer
0055fe66d5 netbsd: Force the use of ev56 instructions for register access on ev56.
This avoids 32-bit access which might affect other registers.  The linux code
uses gcc flags to get this to happen, but this seems like more of a sure thing.
2009-02-01 09:15:51 -08:00
Manuel Bouyer
1375c1b07d netbsd: Fix alpha ev6 support.
Bug #19721
2009-02-01 09:12:40 -08:00
Pierre Willenbrock
29b3b88dc7 Prevent double unref of glxdrawables
Found by valgrind. Bug #18917.
2009-02-01 09:06:43 -08:00
Eric Anholt
f716e3f344 modes: Protect xf86_crtc_supports_gamma() from non-RandR 1.2 drivers. 2009-01-30 20:10:21 -08:00
Keith Packard
ea309e4745 Make crtc_notify wrap/unwrap code do nothing unless mode code is inuse
Drivers not using the new hw/xfree86/modes code would crash in DRI due to
that code trying to monitor CRTC changes.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-30 14:19:41 -08:00
Keith Packard
fff00df94d Ignore EDID-supplied monitor physical sizes for core screen size
We report the EDID values in RandR, and we let people configure whatever
they like for the screen in xorg.conf. Reporting the EDID values in the core
means applications get inconsistent font sizes in the default configuration.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-30 14:16:12 -08:00
Matt Turner
15ac25627e Remove extra / from Loading module line
In the X log, upon module load, it prints a line similar to the following.

> (II) Loading /usr/lib64/xorg/modules/extensions//libdbe.so

The attached patch removes the extra / before the module name.

Code already exists in hw/xfree86/loader/loadmod.c:InitPathList to add a
trailing slash if needed, removing the one added by sprintf is harmless.

Signed-off-by: James Cloos <cloos@jhcloos.com>
2009-01-29 14:40:27 -05: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
Paulo Cesar Pereira de Andrade
c7d62d74bb Explicitly add libxorg_la_LIBADD to libxorg_la_DEPENDENCIES
Otherwise, for example, when hacking config/*.c, it is required to
run make clean on that directory, to ensure the proper libconfig.a
will be linked in the generated Xorg binary.
2009-01-25 19:19:01 -02:00
Adam Jackson
0fb4390526 Remove xorgcfg 'Options' list. 2009-01-22 01:13:17 -05: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
Adam Jackson
0d3c3dad21 Don't include fontmod.h 2009-01-20 23:46:48 -05: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
Dan Nicholson
64f924fbf5 Kill off --with-mesa-source completely
There were a few spots left in the source that were using the
--with-mesa-source defined headers or the now removed $(top_srcdir)/GL
directory. These aren't needed anymore as all the necessary source for
GLX is in $(top_srcdir)/glx.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2009-01-18 09:49:06 -08:00
Dan Nicholson
e1c8ee2157 Don't reuse PKG_CHECK_MODULES identifiers
Using GL for the PKG_CHECK_MODULES identifier multiple times means only
the first call will actually be used. Later calls will be skipped due to
GL_CFLAGS and GL_LIBS already being set. This changes DRI to using a
different identifier and DMX to just reusing GL_CFLAGS.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2009-01-18 09:49:06 -08:00
Peter Hutterer
b339052340 xfree86: always force RAW mode under linux.
The previous check for AEI on left us with the possibility that AEI is forced
off in the config, but devices are added through evdev nonetheless. A keyboard
added this way can CTRL+C the server. Even when we use kbd, we can set the
mode to RAW, so it's safer alround to to so.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-16 16:21:16 +10: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
31439195c5 xfree86: linuxPci.c needs a prototype for xf86AccResFromOS 2009-01-11 08:54:11 +01:00
Julien Cristau
a00dbd0015 xfree86: use %zu to format size_t arguments 2009-01-11 08:54:11 +01: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
Julien Cristau
7a05c8b1e7 xfree86/linux: fix log flood on acpid open error
When we can't open the acpid socket, warn once, not once every second
2009-01-11 05:36:12 +01:00
Xiang, Haihao
5f3188228e avoid a potential endless loop.
Previously it is possible that creating rotation data, then cleaning
up and creating again so that pScreen->BlockHandler and
xf86_config->BlockHandler all point to xf86RotateBlockHandler.
See bug #19343.
2009-01-09 09:37:56 -08:00
Adam Jackson
0c6987df3b XAA: Disable offscreen pixmaps by default.
Say Option "XaaOffscreenPixmaps" to turn them back on.

Apropos of bugs #13795 and #15098.  But this still isn't correct.
2009-01-08 11:11:39 -05: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
Rémi Cardona
1badeb78b0 Include Xmd.h from edid.h 2009-01-07 09:31:17 -05:00
Keith Packard
4c326c4d34 Make cvt complain about invalid arguments more often.
cvt doesn't correctly parse 'cvt -vr 1920 1080'. This patch doesn't fix
that, but it does at least generate an error message now.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-06 08:58:53 -08:00
Paulo Cesar Pereira de Andrade
1da4a41b08 Add sdksyms.sh to EXTRA_DIST to correct make distcheck
Thanks to <vehemens at verizon.net> for noticing the problem.
2009-01-06 05:01:32 -02:00
Paulo Cesar Pereira de Andrade
200230535f Update sdk headers to export new symbols.
All symbols in installed sdk headers should be explicitly tagged
as exported symbols. Otherwise, to ensure it is not a mistake, one
could write it as something like:
extern /* NOEXPORT */ type name ...;
but the proper procedure really should be to use a non sdk header
(or a "noinst_" one).
  This patch also removes prototypes to some functions that existed
only temporarily.
2009-01-05 16:49:57 -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
55c4ec0a1e XFree86: fbdevhw: Add helper function to get fd
Most devices need to do custom weird ioctls, so let them know what the
fd is.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2009-01-05 11:24:24 +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
Paulo Cesar Pereira de Andrade
86dc660588 Improve sdksyms.c automatic generation (Fix #19245).
Since it is already parsing cpp output, create a dependency file
in the same process. This will cause sdksyms.c to be regenerated
whenever a sdk header is modified.
  This also uses the gmake 'sinclude' directive (don't fail if
included file doesn't exist). This should not cause any problems
given that gmake only constructs are used in several other Makefiles.
2008-12-23 18:07:54 -02:00
Maarten Maathuis
b5736d237a randr/xfree86: Fix initial gamma computation.
- The previous version overflowed sometimes.
2008-12-22 19:54:17 +01:00
Maarten Maathuis
82fba7697f xfree86/randr: Avoid a crash when xf86CrtcConfigPrivateIndex is -1. 2008-12-22 00:33:55 +01:00
Maarten Maathuis
aedd2f566d randr/xfree86: Fix a one off error in the panning calculations.
- Example: mode 1280x1024, panned area 1281x1024
           panned_area.x2 = 1281
           mode.width = 1280
  If you substract 1280 from 1281, then that leaves you with one.
  Which is the one pixel that you need to move to actually see the last pixel collumn.
  Substracting 1 from this will consistently prevent you from seeing the right and bottom edge.
2008-12-19 19:10:23 +01:00
Alan Coopersmith
8c488ac3b3 Fix linking of Xorg with dtrace probes on Solaris 2008-12-18 19:47:49 -08:00
Alan Coopersmith
396433d0da Fix sdksyms.sh to work with Solaris/Sun compiler builds
- Pass $(CPP) & $(AWK) settings from configure to sdksyms.sh
 - Only reset sdk variable (tracks if header is part of sdk) if
   a filename is included on the cpp # <line-no> <filename> line,
   since Sun compilers omit filename when it is unchanged from
   previous line.
2008-12-18 18:49:47 -08:00
Peter Hutterer
aea6f19f25 xfree86: don't restore the TTY mode if we didn't initialize it ourselves
Restoring it unconditionally means we restore to whatever tty_mode has as
default value (i.e. 0). K_RAW happens to be 0x00, so we always restore to raw
mode if allowEmptyInput is off.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2008-12-19 07:59:59 +10:00
Eamon Walsh
777408914d Add xace headers to the SDK when enabled and export the XaceHooks symbol
to modules.
2008-12-18 12:39:08 -05:00
Paulo Cesar Pereira de Andrade
9e4ef3cfe5 Use regex pattern understood by all known awk variants.
Ubuntu uses mawk by default, but it doesn't understand posix character
classes (which are locale dependent, and this patch uses only valid C
identifiers).
  Also make sure awk runs with LC_ALL=C to match the regex patterns.
2008-12-18 15:00:25 -02:00
Maarten Maathuis
3d3c234b43 randr: add some notes about the stuff that changed in driver ABI 2 2008-12-18 16:26:38 +01:00
Maarten Maathuis
1b244feb4c randr: check for malloc failure 2008-12-18 16:12:12 +01:00
Maarten Maathuis
1001403301 Forgot to fix a comment. 2008-12-18 00:19:06 +01:00
Maarten Maathuis
9fa15bef59 randr: some improvements, fixes and crtc abi bump
- Add active field to crtc.
- Set gamma (only) whenever a crtc becomes active.
- Check for xf86_config being NULL.
- Increase crtc abi to 3.
- A few other fixes.
2008-12-17 23:46:31 +01: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
Matthias Hopf
8511a964f8 randr: Update EDID_ATOM_NAME to reflect RandR 1.3 name change 2008-12-16 18:21:20 +01:00
Robert Noland
7aa29b9d66 Support -sharevts on FreeBSD
Bugzilla #11179

Submitted-by: Nathan Whitehorn

Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-12-16 00:10:59 -05:00
Keith Packard
063eb6743c Patch brown-bag fix for bug 19017 (scrn->virtualX/virtualY 0 before PreInit)
When a driver uses a crtc during device detection, the scrn has not yet been
configured and virtualX/virtualY are still zero. This caused the X server
to try and allocate a shadow frame buffer, which couldn't work.

Detect this by checking for zero virtualX/virtualY values.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-15 19:58:20 -08:00
Keith Packard
fde2f96103 Use scrn->virtualX/virtualY in xf86CrtcFitsScreen. Fix bug 19017.
pScreen->width/height are not initialized when doing initial mode setting,
which makes this function incorrectly fail. Using scrn->virtualX should work
in all cases though.

Bug 19017 reports a crash in xf86CrtcSetModeTransform when doing a modeset
for output probing, long before the screen array is initialized; that was
caused by a work-around to set pScreen->width/height so that xf86CrtcFitsScreen
could find the right values.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-15 11:45:43 -08:00
Keith Packard
29a5b0596b When disabling SIGIO tracking, use SIG_IGN instead of SIG_DFL.
This avoids a race condition for drivers which mis-order the fd close and
signal disable.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-15 11:45:43 -08:00
Keith Packard
1ba4cbb159 Clean up rotation data when crtc is turned off
The shadow frame buffer and other data used for rotation need to be freed
when the crtc is disabled, not just when rotation is disabled.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-15 11:45:42 -08:00
Cooper Yuan
2a61397d17 Fix typo in xf86PickCrtcs() 2008-12-15 10:29:34 -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
Matthias Hopf
d41b8960be randr: Fix initial panning border copy
Thanks to Julien Cristau for finding this.
2008-12-11 18:48:02 +01:00
Matthias Hopf
f8e52f1b6d randr: Update initial screen size if panning information is present 2008-12-11 18:30:25 +01:00
Matthias Hopf
24d6b7d1c5 randr: Fix error message for bad panning config 2008-12-11 18:30:25 +01:00
Matthias Hopf
fdbbe65a7e randr: Add monitor option "Panning" for initial panning configuration 2008-12-11 18:30:25 +01:00
Paulo Cesar Pereira de Andrade
27261a950d Modify sdksyms.sh to receive $top_srcdir as first argument.
If the basename of header file processed by cpp matches $top_srcdir,
check for extern symbols in the output, and add to the xorg_symbols
vector.
  Possibly a better solution then using this script would be to somehow
tell the linker to not drop any symbols from the binary being generated.
2008-12-11 14:43:04 -02:00
Paulo Cesar Pereira de Andrade
aa71ac1dd4 Add dependency tracking to sdksyms.c and export composite wrapper.
Thanks to David Miller for noticing a make problem with sdksyms.c
not being regenerated when sdksyms.sh is updated. This is not yet the
best solution; automake generates dependency for sdksyms.o, but the
build really should also regenerate sdksyms.c when sdksyms.o needs to
be regenerated.
  Export the symbols in miext/cw/cw.h. These symbols are in libxaa, and
at least the nvidia driver uses them. Maybe cw.h should be installed
in the sdk.
2008-12-10 00:36:41 -02: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
Benjamin Close
8c1dd40a04 Don't use gnu specific extensions to awk when builing symbols
Traditional posix awk doesn't know about \W and whilst we check that
awk exists in configure.ac we don't check which awk we are using.
This corrects symbol generation for posix only awk.
2008-12-08 14:49:38 +10:30
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
Matthieu Herrb
22d4ddcc3d Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver 2008-12-07 23:56:15 +01:00
Matthieu Herrb
d2dad384f5 Fix build in separate build directory. 2008-12-07 23:52:26 +01:00
Paulo Cesar Pereira de Andrade
5a8068b390 Convert libx86emu.a to a "libtool convenience library". 2008-12-07 18:31:32 -02:00
Paulo Cesar Pereira de Andrade
ed4a172740 Export some symbols from libxf86config when installing it.
These are private symbols, but used by the X Server.
  The newly exported symbols were not added to the sdk headers.
  Optionally, libxf86config could be compiled without hidden symbols
when being installed.
  Thanks to Maarten Maathuis for noticing the problem.
2008-12-07 14:59:25 -02: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
Alan Coopersmith
027ff97a13 Make sure _X_EXPORT is defined in edid.h
Fixes build error in xf86-video-intel utilities
2008-12-05 12:01:31 -08:00
Paulo Cesar Pereira de Andrade
466b0fca9b Add back a simplified version of the loader static address tables.
If not taking the symbol addresses, linkage will break badly, as not
all symbols will be present, and it also requires changing library order,
and/or making some changes like the "libosandcommon".

  This table should be modified to be generated automatically, as
it is required to "fool" the compiler/loader into adding all required
symbols to the X Server.
2008-12-05 17:01:09 -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
091a50d126 Move _X_EXPORT attribute to header file.
The attribute should be set on header files to make it easier to
manage what symbols are available to modules.
  _X_EXPORT should be used in sources only for special cases, like
symbols that must be visible by non video/input driver/modules but
should not be "advertised" in the sdk.
2008-12-04 18:23:25 -02:00
Matthias Hopf
e5ab9e6662 randr: Allow panning to be disabled per axis 2008-12-04 18:16:43 +01:00
Matthias Hopf
bad118ace6 randr: Rework panning area verification 2008-12-04 18:16:43 +01:00
Matthias Hopf
219c26ce0c randr: Don't change panning parameters if verification fails. 2008-12-04 18:16:43 +01:00
Matthias Hopf
18a8bac1a1 randr: Rename pan() to set_origin(), and xf86CrtcPan() to xf86CrtcSetOrigin() 2008-12-04 18:16:43 +01:00
Matthias Hopf
b929d721ef randr: Panning support 2008-12-04 18:16:43 +01:00
Matthias Hopf
834cbc16f3 randr: Crtc interface update for panning support. 2008-12-04 18:16:42 +01:00
Matthias Hopf
a475eb9fee randr: Weird enough, crtc->version was never set upon creation. Fix that. 2008-12-04 18:16:42 +01:00
Paulo Cesar Pereira de Andrade
5dbe70dd52 Remove dummylib.
Only cvt required it, and only used XNF{,c}alloc
via xnf{,c}alloc macros.
  Based on patch by Eric Anholt.
2008-12-04 02:42:28 -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
Stuart Bennett
0b8f8b24f7 xf86Cursors: xf86_reload_cursors shouldn't unconditionally show hwcursor (#14820)
Also, no need to call ShowCursor when SetCursorPosition already does it
Based on a previous patch by Maarten Maathuis

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-02 22:54:18 -08: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
4a61ad427c Update sample xorg.conf file 2008-12-02 14:35:45 -08: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
Peter Hutterer
bb072019fa xfree86: don't render SW cursors for devices attached to VCP (#16805)
When leaving 3D games such as quake3 or sauerbraten, a cursor may stay on the
screen. This is caused by one run of SW rendering for the SD, even though the
SD was attached to the VCP and thus has HW rendering capabilities.

Check for the SD's attachment (like in all other functions) before deciding on
SW or HW rendering.

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

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-02 13:24:39 -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
Paulo Cesar Pereira de Andrade
180bad8477 Add visibility flags to XSERVER_CFLAGS.
This is done to actually change DIX_CFLAGS, as not all "modules" use
XORG_CFLAGS.
  Also export the symbols that are required by other modules after
the change.
2008-12-02 02:50:45 -02:00
Alan Coopersmith
8c560422b4 More man page updates for 1.6 release for Xorg, xorg.conf & exa man pages.
- Remove remaining references to XFree86-Misc options AllowNonLocalModInDev
  and DisableModInDev.
- Remove remaining references to grab-breaking keys & associated options.
- Update description of Ctrl-Alt-Backspace to new -retro/DontZap defaults.
- Add description of new options -modalias and -showopts.
- Update list of modules loaded by default.
- Update input driver references from keyboard to evdev & kbd.
- Update list of driver man pages to match xf86-*-* drivers with man pages.
- Add See Also section to exa man page.

and various formatting/typo/etc. fixes.

The Xorg/xorg.conf sections on input device selection could use further
updates to better match the current state of HAL-enabled configuration.
2008-12-01 20:02:34 -08:00
Alan Coopersmith
6a1850b8c6 Correct warning for unknown GlxVisuals option in conf file 2008-12-01 19:58:14 -08:00
Kristian Høgsberg
ad01e86b5c Drop unused DRI2 vblank infrastructure.
For this first iteration of DRI2 we don't have any vsync functionality
in place yet, so back out the support in DRI2 and the protocol for now.
2008-12-01 21:34:23 -05:00
Alan Coopersmith
24c562f04b Update See Also lists in Xorg & xorg.conf man pages
Remove xorgconfig & xorgcfg
Update driver lists:
	- Remove vga
	- i810->intel
	- via->openchrome
2008-12-01 16:28:45 -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
Kristian Høgsberg
09df7cc5ad Avoid dereferencing NULL pScreen in xf86CrtcSetModeTransform().
We can get there during PreInit as we set a mode for load detection.
At that time there's no pScreen anywhere, so just skip the optimization
then.
2008-12-01 12:41:10 -05: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
Maarten Maathuis
ffb484f7ef randr: Avoid needlessly creating a shadow framebuffer.
- pScreen->width and height were zero, so it didn't "fit" the screen.
2008-11-29 14:30:55 +01: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
Julien Cristau
efefc03f9b Add missing include
../../../../hw/xfree86/xaa/xaaTables.c:9:14: warning: symbol 'byte_expand3' was not declared. Should it be static?
../../../../hw/xfree86/xaa/xaaTables.c:53:14: warning: symbol 'byte_reversed_expand3' was not declared. Should it be static?
2008-11-27 14:45:32 +01:00
Paulo Cesar Pereira de Andrade
74bc792e18 Export symbols required by the vesa and fbdev drivers.
This is a minimal set of patches, to have an usable X Server when
compiling it with symbols hidden by default.
2008-11-27 05:34:14 -02:00
Paulo Cesar Pereira de Andrade
87a7fb7438 Rework code using return value of LoaderSymbol as a function pointer.
The patch removes all macros in the format
  define xf86_sym  ((type (*)(argument-list))LoaderSymbol("sym"))
creates a new macro in the format
  define xf86_sym  sym
and ensures "sym" is a "visible" symbol.
  The patch doesn't add or remove features, and is source and binary
compatible with previous shared objects (with the difference that it
requires the dlloader).
  These symbols are a special case, as, due to the fact that LoaderSymbol
was being used to reference them, they are not easily found by "automated"
tools that check for missing symbols. And now it also have the benefit
that the compiler/loader "knows what is going on".
2008-11-27 00:12:59 -02:00
Keith Packard
4715f079b9 Merge commit 'origin/master' 2008-11-25 22:19:08 -08:00
Keith Packard
9ffc671939 Move matrix operations from X server to pixman 0.13.2
pixman 0.13.2 now holds all of the matrix operations. This leaves
the protocol conversion routines and some ABI stubs in place

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-11-25 22:17:58 -08: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
e5eaea599a Warning fix
xf86info.c:11: warning: initialization makes integer from pointer
without a cast
2008-11-25 15:05:19 -05:00
Adam Jackson
37072500f7 Warning fix
helper_exec.c: In function ‘port_rep_inb’:
helper_exec.c:219: warning: implicit declaration of function
‘DEBUG_IO_TRACE’
helper_exec.c:219: warning: nested extern declaration of
‘DEBUG_IO_TRACE’
2008-11-25 15:05:19 -05:00
Adam Jackson
09ea671cbf Warning fix
lnx_bell.c:37: warning: no previous prototype for ‘xf86OSRingBell’
2008-11-25 15:05:18 -05:00
Adam Jackson
81eafe9f93 Warning fix.
vbe.c: In function ‘VBEReadPanelID’:
vbe.c:1145: warning: return from incompatible pointer type
2008-11-25 15:05:18 -05:00
Adam Jackson
09bfb25e03 Remove unused XAAAvailableOptions 2008-11-25 15:05:18 -05:00
Adam Jackson
8b9253f638 Code motion: subsume xf86DoProbe.c into xf86Init.c 2008-11-25 15:05:17 -05:00
Adam Jackson
fbabb1c5c2 Warning fix.
In file included from l3-xaaStipple.c:4:
./xaaStipple.c:35: warning: no previous prototype for
‘XAAGetStippleScanlineFunc3LSBFirst’

etc
2008-11-25 15:05:17 -05:00
Adam Jackson
cbaca6ec66 Remove dead FreeModuleDesc. 2008-11-25 15:05:17 -05:00
Adam Jackson
208f091bfc Remove xf86IODelay 2008-11-24 23:40:06 -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
3e5281af17 PCI: Unexport xf86scanpci 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
4457e31710 PCI: Remove unused ia64 platform code. 2008-11-24 23:40:03 -05:00
Adam Jackson
86cfe0ee23 PCI: Simplify OS PCI function registration a bit. 2008-11-24 23:40:02 -05:00
Adam Jackson
2d427b9cb1 PCI: Remove config mechanism details.
pciaccess handles this for us now, no need to remember PC arcana.
2008-11-24 23:40:02 -05:00
Adam Jackson
5bb86bafd6 PCI: Remove non-pciaccess path for x86. 2008-11-24 23:40:02 -05:00
Adam Jackson
a67360e79f PCI: Always build domain support. 2008-11-24 23:40:02 -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
Alan Coopersmith
75784e1e53 Solaris: Make KDSETMODE failure non fatal, and retry it on interrupts 2008-11-24 20:32:20 -08:00
Keith Packard
c4b9ab6bf5 Handle transform failure when computing shadow damage area.
PictureTransformBounds can fail, when this happens, damage the entire screen
so that the shadow gets repainted correctly.
2008-11-24 13:24:41 -08:00
Keith Packard
7236fd9dd4 Be careful about copying transforms around; they have allocated memory. 2008-11-24 13:24:41 -08:00
Keith Packard
7e69e364d2 Fix rotated/reflected cursor positions.
Doing projective transforms required repositioning the cursor using the
hotspot, but that requires relocating the upper left corner in terms of said
hotspot.
2008-11-24 13:24:40 -08:00
Keith Packard
7c61db66a4 Create rrtransform.[ch]. Add RRTransform argument to RRCrtcNotify.
Instead of using a separate function to notify DIX about transform changes,
add the transform to RRCrtcNotify so that the whole Crtc state changes
atomically.
2008-11-24 13:24:40 -08:00
Keith Packard
6fe9c15731 Allow drivers to set crtc transforms.
Track curent transform down in the mode setting code so that it may be set
separately from RandR.
2008-11-24 13:24:40 -08:00
Keith Packard
49db14e4ac Handle RandR transform matrices in floating point.
RandR matrix computations lose too much precision in fixed point;
computations using the inverted matrix can be as much as 10 pixels off.
Convert them to double precision values and pass those around. These API
changes are fairly heavyweight; the official Render interface remains fixed
point, so the fixed point matrix comes along for the ride everywhere.
2008-11-24 13:24:40 -08:00
Keith Packard
197aa78469 Report whether transforms are support from driver through extension to client
Add APIs to xf86RandR12 support and randr extension to record whether the
driver supports transforms, report that value in the RRGetCrtcTransform
reply.
2008-11-24 13:24:39 -08:00
Keith Packard
e86c34663e Clear shadow pixmaps before using them.
This eliminates some ugly flashing, as well as clearing the borders when the
shadow will not be completely painted.
2008-11-24 13:24:39 -08:00
Keith Packard
8fd82c88e3 Adjust transformed cursor position to account for hotspot 2008-11-24 13:24:38 -08:00
Keith Packard
eb222e6412 Actually use filter kernel size to expand transform redisplay box 2008-11-24 13:24:37 -08:00
Keith Packard
ee6326a6b8 Handle filter widths in xf86Rotate 2008-11-24 13:24:37 -08:00
Keith Packard
ddc8466137 Initialize and cleanup new filter fields in xf86Crtc. 2008-11-24 13:24:37 -08:00
Keith Packard
f50349e193 [RANDR] Support filters in CRTC transforms.
Create new RRTransform datatype to hold all of the transform related
information, use that in lots of places to pass filters around.
2008-11-24 13:24:36 -08:00
Keith Packard
e3d6f279d5 Wire up RandR CRTC transform protocol, bump server to RandR 1.3
This involved removing a pile of matrix code from the DDX,
as well as moving a bit of transform logic from DDX to DIX.
2008-11-24 13:24:36 -08:00
Keith Packard
e063162e80 Add projective transforms to RandR DIX/DDX API.
New RRCrtcGetTransform function in DIX that DDX can use to get the pending
transform. The DDX code should be complete; the DIX code is just a stub at
this point.
2008-11-24 13:24:35 -08:00
Keith Packard
9c7ac47b87 Notify DRI when crtc regions change
Drivers that care about crtc positions on the screen to ensure that vblank
works correctly need to be notified when crtcs are changed.

Provide a hook in the mode setting code that is invoked whenever any
configuration is done to the screen.

Use this new hook in the DRI code so that DRI clients are notified and
receive updated information.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-11-24 13:24:35 -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
Peter Hutterer
0dbcbd35f6 xfree86: Split the working code of NIDR into new xf86NewInputDevice.
The xfree86 server previously hat NewInputDeviceRequest and InitInput, and
both basically did the same thing. Reduce NIDR to parameter checking and use
xf86NewInputDevice from both InitInput and NIDR to actually create the device.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-11-24 10:17:45 +10:00
Matthieu Herrb
387563b777 Merge branch 'master' of git+ssh://herrb@git.freedesktop.org/git/xorg/xserver 2008-11-23 13:15:46 +01:00
Matthieu Herrb
85f650c9b7 missing action in if statement. 2008-11-23 13:15:17 +01:00
Stefan Dirsch
f6e01fa1b8 Added '-showopts' option to print available driver options (#5564). 2008-11-23 11:16:03 +01:00
Matthieu Herrb
bc0c7075e2 Remove the old libusbhid copy from os-support/bsd.
This has been replaced by in-kernel support for USB mices several
years ago and hasn't been enabled in build since X.Org 6.8.
2008-11-22 19:12:23 +01:00
Egbert Eich
a9e20306fb int10: Do an mprotect(..,PROT_EXEC) on shmat()ed memory ranges.
When the linux kernel sets the NX bit vm86 segfaults when it tries to execute
code in memory that is not marked EXEC. Such code gets called whenever
we return from a VBIOS call to signal the calling program that the call
is actually finished and that we are not trapping for other reasons (like
IO accesses).
Use mprotect(2) to set these memory ranges PROT_EXEC.
2008-11-21 18:57:07 +01:00
Rémi Cardona
a54153e669 xfree86: don't reset Auto(Add|Enable)Devices, use defaults from xf86Globals
Without this, commit ace38fafb0 is useless
when HAL support is disabled.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2008-11-21 18:55:07 +01:00
Matthieu Herrb
10d472bf9d Support for BSD apm
XXX check amd64 pci init
2008-11-21 18:07:03 +01:00
Peter Hutterer
ace38fafb0 xfree86: without CONFIG_HAL, Auto{Add|Enable}Devices and AEI is false.
There's little chance that we'll get the input devices at runtime without HAL,
we might as well force the server to add mouse/kbd devices automatically -
just like in the olden days.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-21 08:48:38 +10:00
Alan Coopersmith
570835b9a8 Use bsd_pci stub routines on Solaris too, since we use pciaccess for real work
Depends on commit 70e18a3b6b to get
definition of xf86InitVidMem on Solaris.
2008-11-19 10:19:20 -08:00
Keith Packard
3932a84857 Xinput: use floats for ConstantDeceleration and AdaptiveDeceleration
These values need not be constrained to integer values.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-11-18 14:21:01 -05:00
Michel Dänzer
24928b85dc DRI2: Don't crash in DRI2ClipNotify when DRI2DrawablePtr is NULL. 2008-11-15 13:28:53 +01:00
Alex Deucher
81fd17f5f4 Only add default modes if EDID supports continuous-frequency
When an EDID is present, only add the default mode pool if the
continuous-frequency bit is set in the EDID.  Should fix bugs
like 18512.
2008-11-13 15:00:30 -05:00
Adam Jackson
c232f3d673 xf86TargetExact should try harder if there's only one monitor attached.
If there's no preferred mode, but only one monitor, pick the
biggest mode for its aspect ratio, assuming one exists.
2008-11-13 14:58:21 -05:00
Alex Deucher
6b501d7cc5 Add missing newline when printing edid info 2008-11-13 13:57:30 -05:00
James Cloos
24383056d0 Don’t recommend fixing HAL if HAL support is disabled.
As reported in http://bugs.freedesktop.org/show_bug.cgi?id=18438
the server suggests reconfiguring HAL if AllowEmptyInput is enabled
and no input devices are known.

Instead of that notice, if HAL is disabled at configure time,
AllowEmptyInput is enabled in the config and no input devices are
found report those facts and recommend disabling AllowEmptyInput.
2008-11-08 13:11:51 -05:00
James Cloos
b3c7e62664 Remove some null statements.
Remove several doubled statement-terminal semicolons.

Reported by Fernando Carrijo.
2008-11-08 12:21:20 -05:00
Luc Verhaegen
59f9fb4b8c XAA PixmapOps: Sync before accessing unwrapped callbacks.
When using any XAAPixmapOps, we call into unknown but freshly
unwrapped callbacks (like fb ones). Unlike the XAA*Fallback calls,
we did so without syncing first, exposing us to all kinds of
synchronisation issues.

I believe that the rendering errors appeared now because *PaintWindow
vanished (e4d11e58), and we just use miPaintWindow instead. This
takes a less direct route to the hw and ends up at
PolyFillRectPixmap, which very often left drawing artifacts.

We now sync accordingly, and no longer get the rendering artifacts i
was methodically reproducing on radeonhd, radeon, unichrome...

Also, in order to allow driver authors to remove extensive syncing
or flushing to hide this issue, create XAA_VERSION_ defines, put
them in xaa.h and bump the patchlevel.

(novell bug #435791)
2008-11-07 19:13:58 +01:00
Julien Cristau
991c88b754 xfree86: xf86SetDepthBpp needs to respect the driver's depth24flags
When setting the depth to 24, leave bpp unset so the logic to pick
a supported value is used instead of ignoring the driver's preference
and forcing 32 bpp.
2008-11-07 19:03:40 +01:00
Adam Jackson
446d9443ce linux: Drain the console fd of data when using evdev for keyboards
Works around a silly bug in the kernel that causes wakeup storms after
too many keypresses.  Should fix the kernel bug too, but this at least
keeps the idle wakeup count below 1000/sec.
2008-11-05 11:51:06 -05:00
Egbert Eich
9a874a71a7 DDX/RandR: When positioning outputs assume width/height = 0 if no modes exist.
When a user specifies the position of an output for which no modes exist
(for whatever reason) assume that the width and height of this output
is 0. The result will be the same as if this output isn't taken into
consideration at all and thus should be sane. It will prevent a segfault
when trying to determine the width and height of a non-existent mode.
2008-11-04 21:31:27 +01:00
Daniel Stone
f4036f6ace Remove XEvIE
It's unmaintained and has been broken for quite a while; MPX finally
smashed it completely.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Daniel Stone
8c3753a0b7 A bit of whitespace cleanup in include directives.
It's #include <foo>, not # include <foo>

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Daniel Stone
889a8dc02b Xi: XINPUT has been mandatory for ages
Ditch all #ifdef XINPUT, since it's always built.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Adam Jackson
4cf2f4172a Add xf86MonitorIsHDMI() helper. 2008-11-03 14:35:03 -05:00
Alan Coopersmith
70e18a3b6b Refactor Solaris mapping code to work with standard shared/vidmem.c
Also merge sun_bios.c into sun_vid.c and upstream Solaris patch to
keep aperture device open, to allow mappings to occur after X server
has given up uid 0.
2008-10-30 21:00:46 -07:00
Peter Hutterer
4ce19b4477 xfree86: fix xf86ScaleAxis once again.
Maybe one day I stop doing stupid patches like
a3a7c12fcf.

So, if X < low, reset to low, and _not_ to high.
If X > high, reset to high, and _not_ to low.
2008-10-30 16:59:43 +10:30
Peter Hutterer
c264826da9 xfree86: If AEI is on, disable "kbd" and "mouse" devices.
This consists of two parts:
In the implicit server layout, ignore those drivers when looking for a core
device.

And after finishing the server layout, run through the list of devices and
remove any that use mouse or kbd.

AEI is mutually exclusive with the kbd and mouse drivers, so pick either - or.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-29 12:07:26 +10:30
Julien Cristau
102c4dac7c x86emu: fix sparse warnings
ops2.c:113:18: warning: Using plain integer as NULL pointer
ops2.c:207:18: warning: Using plain integer as NULL pointer
2008-10-26 13:17:31 +01:00
Julien Cristau
ffaaa1a198 xfree86: fix compiler warnings in DoModalias()
The precedence of == is higher than that of &, so that code was
probably buggy.

xf86Init.c: In function 'DoModalias':
xf86Init.c:300: warning: suggest parentheses around comparison in operand of &
xf86Init.c:304: warning: suggest parentheses around comparison in operand of &
xf86Init.c:308: warning: suggest parentheses around comparison in operand of &
2008-10-26 13:13:21 +01:00
Julien Cristau
66fd05acd6 xfree86: Silence compiler warnings about function prototypes
xf86Init.c:136: warning: function declaration isn't a prototype
xf86Init.c:243: warning: function declaration isn't a prototype
xf86Init.c:249: warning: function declaration isn't a prototype
2008-10-26 13:11:41 +01:00
Julien Cristau
eadf90aa65 xaa: Fix compiler warning (implicit declaration)
xaaInit.c: In function 'XAAInit':
xaaInit.c:201: warning: implicit declaration of function 'miInitializeCompositeWrapper'
xaaInit.c:201: warning: nested extern declaration of 'miInitializeCompositeWrapper'
2008-10-26 11:44:57 +01:00
Julien Cristau
aee514cfb5 xfree86: Fix compiler warnings (implicit declarations)
Add missing includes to fix the following warnings:
xf86DGA.c: In function 'DGAProcessKeyboardEvent':
xf86DGA.c:1050: warning: implicit declaration of function 'UpdateDeviceState'
xf86DGA.c:1050: warning: nested extern declaration of 'UpdateDeviceState'
xf86Xinput.c: In function 'xf86ActivateDevice':
xf86Xinput.c:303: warning: implicit declaration of function 'AssignTypeAndName'
xf86Xinput.c:303: warning: nested extern declaration of 'AssignTypeAndName'
xf86Xinput.c:311: warning: implicit declaration of function 'DeviceIsPointerType'
xf86Xinput.c:311: warning: nested extern declaration of 'DeviceIsPointerType'
xf86Xinput.c:324: warning: implicit declaration of function 'XkbSetExtension'
xf86Xinput.c:324: warning: nested extern declaration of 'XkbSetExtension'
2008-10-26 11:44:11 +01:00
Julien Cristau
add946daed Nuke unused variables 2008-10-26 11:44:10 +01:00
Bernhard R. Link
24e863b0eb Bug#16501: autodetection of sbus graphic cards
Add automatic detection of the graphic driver to load for sbus devices.
This allows xorg to work on those devices without a "Device" section.

Debian bug#483942.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2008-10-26 00:26:51 +02:00
Julien Cristau
fd97ff1bdd Bug#5851: Document the "Log" option in xorg.conf(5) 2008-10-25 22:59:43 +02:00
Alan Coopersmith
b015a021b2 Allow non-gcc compilers to build xf86Xinput.c 2008-10-23 17:39:30 -07:00
Peter Hutterer
0b56b44add xfree86: AllowEmptyInput is true by default - update the xf86Info defaults.
Also set AutoAddDevices and AutoEnableDevices to their defaults.

And in doing so, switch the rest of the defaults over to named intializers.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-22 17:19:37 +10:30
Rémi Cardona
58eacf0b7b Force LC_ALL=C when building xf86DefModeSet.c
Fixes build in not-quite-latin locales.
2008-10-21 10:07:24 -04:00
Peter Hutterer
d936a4235c xfree86: if AllowEmptyInput is true, enable RAW mode on the console.
Usually, the console is set to RAW in the kbd driver. If we hotplug all input
devices (i.e. the evdev driver for keyboards) and the console is left as-is.
As a result, the evdev driver must put an EVIOCGRAB on the device to avoid
characters leaking onto the console. This again breaks many things, amongst
them lirc, in-kernel mouse button emulation and HAL.

This patch sets the console to RAW if AllowEmptyInput is on.

Use-cases:
1. AEI is off
  1.1. Only kbd driver is used - behaviour as-is.
  1.2. kbd and evdev driver is used: if evdev does not grab the device,
       duplicate events are generated.
2. AEI is on
  2.1. Only evdev driver is used - behaviour as-is, but evdev does not need
       to grab the device anymore.
  2.2. evdev and kbd are used: duplicate key events are generated if evdev
       does not grab the device.

1.2 is a marginal use-case that can be fixed by adding a "grab" option to the
evdev driver (update of xorg.conf is needed).

2.2 is an issue. If we have no ServerLayout section, AEI is on, but devices
specified in the xorg.conf are still added [1], resulting in duplicate events.
This is a common configuration and needs sorting out.

[1] 2eaed4a10f

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-10-16 21:35:27 +10:30
Daniel Stone
2e60ebbd25 XFree86: Simplify DontZap/-retro interaction
How hard could it possibly be, right?
2008-10-15 14:11:13 +01:00
Alan Hourihane
66a87517bd re-enable DRI2 2008-10-15 12:00:16 +01:00
Kristian Høgsberg
ced6690284 dri2: Update to latest protocol draft.
Mainly rename SwapBuffers to CopyRegion, which adds the xfixes region
argument and the bitmask argument to let us extend it in the future.
2008-10-15 00:00:44 -04:00
Adam Jackson
b677bff97b int10: Degrade the checksum warning to X_INFO.
I've seen about one case in three years where this has actually been
correlated with the real cause of failure, and we've trained people to
freak out about X_WARNING, so let's be less alarmist.
2008-10-14 14:30:19 -04:00
Adam Jackson
bd9c6b3a4d EDID: Catch even more cases of encoding aspect as size.
Very cute, Samsung, not only do you claim to be 16cm by 9cm in the
global size record, you also claim to be 160mm by 90mm in the detailed
timings.  Grrr.
2008-10-14 14:04:01 -04:00
Nathaniel McCallum
8e368cf5b9 Xorg: add -modalias option
This scans the installed video drivers and prints a Linux-style modalias
listing of the devices each driver claims to support.
2008-10-14 09:50:29 -04:00
Aaron Plattner
3fc4f40b6c Restore xf86{Enable, Disable}GeneralHandler.
These were useful as part of the generic handler ABI, and are used by the NVIDIA
driver.

This reverts part of commit 50081d2dfb.
2008-10-12 16:08:26 -07:00
Aaron Plattner
2217d22a76 Revert "xfree86: xf86{Enable, Disable}InputHandler can be static."
These were potentially useful as part of the input handler ABI, even if nobody
currently uses them.

This reverts commit 278c11f01f.
2008-10-12 16:07:24 -07:00
Maarten Maathuis
5b336585a4 dri: don't set the dixPrivate key to NULL, as this is a staticly set variable.
- This breaks on the 2nd server generation.
- No other subsystem seems to NULL their key.
- This should fix bug 17982.
2008-10-10 23:28:30 +02:00
Adam Jackson
94ed0ba1b5 Move xorg_backtrace() up to the OS level so we can call it from DIX. 2008-10-10 16:28:10 -04:00
Adam Jackson
f650c1aeb0 Revert "Don't leak EDID_block"
This reverts commit 05cdef18ca.

http://lists.freedesktop.org/archives/xorg/2008-October/039305.html
2008-10-10 14:07:28 -04:00
Adam Jackson
0660dd9d70 EDID: Catch monitors that encode aspect ratio for physical size.
This is not legal in either EDID 1.3 or 1.4, but hey, when did a little
thing like legality stop anyone.
2008-10-10 13:59:08 -04:00
Peter Hutterer
0b4b683f3e xfree86: export NewInputDeviceRequest/DeleteInputDeviceRequest
NIDR should be used to create a new SD from e.g. within a driver.
DIDR should be used to remove a device from the server.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-10 16:57:32 +10:30
Peter Hutterer
5e213fe102 xfree86: cache dev->isMaster before freeing the device. 2008-10-10 16:57:32 +10:30
Zhenyu Wang
05cdef18ca Don't leak EDID_block 2008-10-10 13:45:51 +08:00
Luc Verhaegen
2d9da7a5f3 DGA: Track client state even when using old style DGA.
This fixes the issue that a badly killed DGA will keep on hogging
mode/framebuffer/mouse/keyboard.
2008-10-09 22:22:53 +02:00
Luc Verhaegen
322335d5b5 DGA: Mash together xf86dga.c and xf86dga2.c.
This in preparation for an upcoming client state tracking fix.
2008-10-09 22:21:05 +02:00
Luc Verhaegen
1feb69eb63 DGA: Fix ProcXF86DGASetViewPort for missing support in driver.
Fixes a segfault when trying to activate a DGA mode without checking
whether DGA modesetting is at all possible.
2008-10-08 14:55:29 +02:00
Tiago Vignatti
adf3e296e2 Remove unused declarations.
AvailableClientInput (LBX debris) and xf86XinputFinalizeInit.
2008-10-08 03:41:17 -03:00
Tiago Vignatti
bca9fa2efe Everyone knows that the loader is present. Silence it. 2008-10-08 03:41:17 -03:00
Zhenyu Wang
56c615368c Check nextEnabledOutput()'s return in bestModeForAspect()
In case no enabled outputs, we will reference wrong index of
output array.
2008-10-08 13:33:55 +08:00
Tiago Vignatti
278c11f01f xfree86: xf86{Enable, Disable}InputHandler can be static. 2008-10-08 01:18:49 -03:00
Tiago Vignatti
50081d2dfb xfree86: remove xf86{Enable, Disable}GeneralHandler and others unused. 2008-10-08 01:11:38 -03:00
Tiago Vignatti
54294e15ec xfree86: fix wrong function name message errors. 2008-10-08 00:43:22 -03:00
Daniel Stone
617933e8c2 XFree86: Fix DontZap interaction with -retro
-retro will now _not_ override (No)DontZap, if it's set in the config
file.
2008-10-08 02:45:59 +03:00
Daniel Stone
d80bae2237 Update docs to reflect new DontZap default 2008-10-08 02:44:08 +03:00
Adam Jackson
42e7b64bf9 -retro enables zapping 2008-10-07 20:32:02 -04:00
Daniel Stone
9d135ac10a Input: Make DontZap the default
If you need to bail out the server, use Ctrl-Alt-Fx, or enable zapping
if it bothers you that much.  If Ctrl-Alt-Fx is broken, nag me until
it's permanently fixed.
2008-10-08 02:30:05 +03:00
Aaron Plattner
b574365fca Revert "Unexport (and unimplement) xf86SetAccessFuncs" for now.
The nvidia driver currently uses these hooks to work around problems where RAC
will disable access to the hardware at unexpected times.  This change restores
these hooks until we can come up with a better API for working around RAC.

This reverts commit c1df4fbede.
2008-10-07 13:09:11 -07:00
Aaron Plattner
fe85ec34ec Revert "Remove unused server state change callbackery" for now.
The nvidia driver currently uses these callbacks to work around problems where
RAC will disable access to the hardware at unexpected times.  This change
restores these hooks until we can come up with a better API for working around
RAC.

This reverts commit d7c0ba2e9e.

Conflicts:

	hw/xfree86/loader/xf86sym.c
2008-10-07 13:08:38 -07:00
Adam Jackson
94919480d8 int10: Fix a nasty memory leak. 2008-10-07 13:41:53 -04:00