Commit Graph

1819 Commits

Author SHA1 Message Date
Peter Hutterer
f611719edc xfree86: always render first cursor in HW, all others in SW. 2008-05-16 20:17:21 +09:30
Tiago Vignatti
622d7c1d89 Restructure and organize the code.
It was removed and simplified some conditionals. We don't need test for
pDev->isMaster inside xf86CursorSetCursor() because only MD enters there.

In the last chunk, ScreenPriv fields were being assigned without need, so
that code was wrapped inside the conditional to avoid it.

I also tried to make the identation more sane in some parts that I touched.

Signed-off-by: Tiago Vignatti <vignatti@c3sl.ufpr.br>

Minor modification, part of the original patch led to cursors not being
updated properly when controlled through XTest.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-16 17:14:43 +09:30
Tiago Vignatti
5af90025fe Remove redundancy.
The only function that cat set SWCursor before xf86DeviceCursorInitialize()
is xf86InitCursor() when VCP and is created.

Signed-off-by: Tiago Vignatti <vignatti@c3sl.ufpr.br>
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-16 17:02:15 +09:30
Brian Rogers
5127942f80 DGA: pass nevents to UpdateDeviceState. #15936
Missing parameter caused event processing to go nuts when checking valuators.

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

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-16 15:43:01 +09:30
Adam Jackson
166177e36b Simplify default font path setup. 2008-05-14 16:02:05 -04:00
Peter Hutterer
8234af6c6a xfree86: remove Ubuntu-ism.
Additional #include was required due to broken libc headers or something like
that. Remove it, there's more to the world than ubuntu alone.
2008-05-13 11:17:39 +09:30
Peter Hutterer
1fc1a2897e Remove UndisplayCursor API.
We can achieve the same thing by simply displaying a NullCursor, there's no
need for a separate API.
2008-05-13 11:17:02 +09:30
Adam Jackson
86678e7cc2 Fix fbdevhw initialization for PCI drivers.
graphics/fb%d, not graphics:fb%d.  Thanks sysfs.  Thysfs.
2008-05-12 14:53:37 -04:00
Dave Airlie
3b6735528e pci: don't do this pci stuff when we don't have hw access 2008-05-12 16:36:42 +10:00
Adam Jackson
f17ba5d584 Bug #13104: Remove broken XAA a1 glyph fast path. 2008-05-08 16:04:24 -04:00
Adam Jackson
ddaecfa13c Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2008-05-08 14:33:58 -04:00
Daniel Stone
641a5f955b Build: Ensure xf86DefModeSet.c ends in an empty line
This shuts up a warning.
2008-05-07 22:29:04 +03:00
Adam Jackson
9c2e0871cf Bug #13104: XAA: Adapt to glyph storage changes.
Glyph bits are now stored in a proper pixmap, not just hanging off the
end of a GlyphRec.
2008-05-07 13:21:26 -04:00
Adam Jackson
718652eaf9 Bug #13104: Don't let XAA glyph pixmaps anywhere near video memory.
Since glyphs are stored in pixmaps now, they can make their way into VRAM,
which invalidates a bunch of fast-path assumptions in the XAA code.  Thus
you end up doing color-expands or WriteBitmap from la-la land and your
aliased glyphs go all funny.

Since XAA isn't ever growing the ability to do sane glyph accel, just force
glyph pixmaps into host memory by catching them at CreatePixmap time.
2008-05-06 17:52:37 -04:00
Peter Hutterer
9e0d73fd8a xfree86: call SetCursor for the VCP when switching between SW/HW rendering.
We need a manual call to SetCursor when we switch from SW to HW rendering and
the other way round. This way we display the new cursor after removing the old
one.
In addition, we only update the internal state for the VCP's sprite. This way,
when we switch back to HW rendering the state is up-to-date and wasn't
overwritten with the other sprite's state.

The second part is a hack. It would be better to keep a state for each sprite,
but then again we don't have hardware that can render multiple cursors so we
might as well do with the hack.
2008-05-06 17:52:15 +09:30
Dave Airlie
e4ebfed178 xf86edid: fix typo in debug output 2008-05-06 16:47:18 +10:00
Peter Hutterer
b9c1a57e7a xfree86: switch between to SW cursors if more than 1 sprite is available.
Switches back to HW cursors when sprites other than the VCP are removed.
The current state requires the cursor to change shape once before it updates
to SW / HW rendering (whatever is appropriate), e.g. by moving into a
different window. Until this is done, the cursor is invisible.
2008-05-06 14:51:23 +09:30
Peter Hutterer
3df88c17e3 xfree86: re-enable hardware cursor (for a single cursor)
This commit enables HW rendering for cursors again, but only for a single
cursor. Other cursors can be created, however they will not be visible.
2008-05-06 11:50:20 +09:30
Peter Hutterer
6f63724b28 xfree86: don't try to repaint the cursor before cursors exist. 2008-05-02 14:56:58 +09:30
Peter Hutterer
3344569529 Merge branch 'master' into mpx
Conflicts:

	Xi/exevents.c
	dix/devices.c
2008-05-02 11:00:14 +09:30
Paulo Cesar Pereira de Andrade
01c61f3d97 xorgcfg: Fix a crash if xorg.conf doesn't have a Files section.
This patch only creates a Files section if required, so if no entries are
added, an empty Files section will not be created.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-01 15:55:15 +09:30
Paulo Cesar Pereira de Andrade
6899ff81e8 Fix an off by one read error in drmSIGIOHandler().
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-01 10:14:30 +09:30
Kazuhiro Inaoka
ce36ae526d Add M32R architecture support (bug #10020)
Still needs autotools support, so this won't actually _build_: it's just
a starting point.
2008-04-30 11:58:32 +03:00
Hong Liu
f65a1a62f9 Keep rotation wrappers in place while transforms are in use
LeaveVT/EnterVT cycles will free/realloc shadow frame buffers. Because of
this, the presense/absence of that data is insufficient to know whether
the screen function wrappers are necessary. Instead, the 'transform_in_use'
flag should be used.

This patch also adds 'xf86RotateFreeShadow' for drivers to use at LeaveVT
time to free the rotation data; it will be reallocated on EnterVT.
2008-04-29 09:00:11 -07:00
Peter Hutterer
ec2fca7e6f xfree86: DGA needs to call into Xi.
Two steps: first use UpdateDeviceState() instead of replicating the device
changing code. And emulate XI events instead of core events.
2008-04-29 14:53:20 +09:30
Peter Hutterer
e251c9e75a Remove all traces of #ifdef XINPUT and the matching bits from the configure.ac 2008-04-25 16:49:35 +09:30
Peter Hutterer
f5ac98747d Standardise copyright headers for all new files created as part of MPX. 2008-04-25 14:50:24 +09:30
Peter Hutterer
9ab4e2fd8e xfree86: don't free the config-file related information in DIDR. #15645
In DeleteInputDeviceRequest, leave the conf_idev (which is shared with
xf86ConfigLayout.input) alone for devices that were specified in the
ServerLayout section of the config file. This way, in the next server
generation we are left with what was the original config and can thus re-init
the devices.

This is an addon to 6d22a9615a, an attempt to
fix Bug 14418.

X.Org Bug 15645 <https://bugs.freedesktop.org/show_bug.cgi?id=15645>
X.Org Bug 14418 <https://bugs.freedesktop.org/show_bug.cgi?id=15645>
2008-04-24 14:19:28 +09:30
Peter Hutterer
7dc40c8eca xfree86: Don't free master devices.
The previous check works in the master-branch, but doesn't work with MPX. We
actually copy the SD's information into the MDs public.devicePrivate, so we
need to explicitly check whether a device is a MD before freeing the module.
2008-04-24 12:47:29 +09:30
George Sapountzis
a88c6b6646 glcore: drop GLcore (files) 2008-04-23 18:11:55 +03:00
George Sapountzis
dd7a53f8f2 glcore: drop GLcore (build system) 2008-04-23 18:11:55 +03:00
George Sapountzis
567d389d47 glcore: build from mesa, dlopen from xorg
* The GLcore interface is disposable
* GLcore is installed in DRI_DRIVER_INSTALL_DIR which is overloaded for
  GLX_PROVIDER_INSTALL_DIR
2008-04-23 18:11:55 +03:00
Julien Cristau
fbad87f2ae autoconfig: don't call closedir() when opendir() failed
If opendir() fails, return from matchDriverFromFiles() immediately.
Ubuntu bug 217647.
2008-04-23 14:59:24 +02:00
Peter Hutterer
275cdc1c74 xfree86: pass correct value to mieqEnqueue (merge detritus I guess) 2008-04-23 16:16:15 +09:30
Peter Hutterer
8190ef8754 Merge branch 'master' into mpx
Conflicts:

	Xext/EVI.c
	Xext/appgroup.c
	Xext/cup.c
	Xext/mitmisc.c
	Xext/sampleEVI.c
	dix/window.c
2008-04-22 18:04:05 +09:30
Jordan Crouse
4fa89fbe18 xf86: Change AutoConfig driver for PCI ID 022:2091 to 'geode' 2008-04-21 12:09:00 -06:00
Julien Cristau
40c6be1408 Minor xorg.conf manpage fixups
Use __libmansuffix__ instead of __oslibmansuffix__ which isn't getting
replaced, and rewrap some text to get __xservername__ replaced in the
description of Option "Accel" (cpp doesn't like the preceding quote).
2008-04-20 20:36:44 +02:00
Adam Jackson
a7503615a6 Death to TOG-CUP.
If you still care about 8bpp visuals that much, fix Composite to provide
synthetic visuals.
2008-04-18 19:56:41 -04:00
Eric Anholt
25827fde68 Nuke the MIT-SUNDRY-NONSTANDARD extension.
This extension provided bug-compatibility with pre-X11R6, but has been
stubbed out in our server since 2006 to return BadRequest when you actually
asked for it.
2008-04-18 16:37:08 -07:00
Adam Jackson
eafaf40fb3 Death to APPGROUP. 2008-04-18 18:50:05 -04:00
Adam Jackson
f6617b4127 Death to Extended Visual Information. 2008-04-18 18:28:01 -04:00
Kristian Høgsberg
35982bc109 Make DRI2 a serverlayout/serverflags option.
Add xf86DRI2Enabled() to export the value of the setting.
2008-04-14 15:23:57 -04:00
Matt Turner
1fa4de80fc Check for __x86_64__ when we check for __amd64__
It seems Intel C Compiler neglects to define __amd64__, __amd64, or
amd64, but *does* define __x86_64__.
2008-04-12 20:39:18 +02:00
Adam Jackson
0dab6fa358 So long, and thanks for all the cfb. 2008-04-11 09:47:51 -04:00
Peter Hutterer
6d22a9615a dix: Call DeleteInputDeviceRequest from CloseDownDevices (#14418)
The DDX (xfree86 anyway) maintains its own device list in addition to the one
in the DIX. CloseDevice will only remove it from the DIX, not the DDX. If the
server then restarts (last client disconnects), the DDX devices are still
there, will be re-initialised, then the hal devices come in and are added too.
This repeats until we run out of device ids.

This also requires us to strdup() the default pointer/keyboard in
checkCoreInputDevices.

X.Org Bug 14418 <http://bugs.freedesktop.org/show_bug.cgi?id=14418>
2008-04-11 18:45:32 +09:30
Peter Hutterer
df2545b98d xfree86: Sanity check before retrieving the paired device.
Some pointer devices send key events [1], blindly getting the paired device
crashes the server. So let's check if the device is a pointer before we try to
get the paired device.

[1] The MS Wireless Optical Desktop 2000's multimedia keys are sent through
the pointer device, not through the keyboard device.
2008-04-10 08:50:43 +09:30
Dave Airlie
b19027fbae quirk: add quirk for ACR 640x350 default mode is wrong
RH #440186
2008-04-09 14:34:11 +10:00
Peter Hutterer
fd06e8f8c1 Merge branch 'master' into dcdc_rework
Conflicts:

	Xext/xevie.c
	dix/dispatch.c
2008-04-07 07:56:41 +09:30
Sascha Hlusiak
539bf3c283 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2008-04-07 00:10:16 +02:00
Sascha Hlusiak
3ab33e7cd4 Remove stale code
The jstk code for Joysticks is not used by any module, was never actually compiled and uses an API
that is deprecated these days.

No reason to keep it.
2008-04-06 23:23:47 +02:00
Adam Jackson
cc7c045bae Fix PCI config space cycles from int10 emulator.
The top bit of 0xCF8 is an enable bit, not part of the domain.  Sending
cycles to domain 128 instead of domain 0 is rarely the right thing to do.
2008-04-04 12:58:12 -04:00
Kristian Høgsberg
16a8ce7558 Only autoload RECORD if it was enabled. 2008-04-04 10:47:46 -04:00
Dave Airlie
f0915fb3c4 quirk: add quirk for ACER EDID 2008-04-04 09:59:40 +10:00
Kristian Høgsberg
b5a0a865c3 Pick up dri2proto from the standard proto header include path. 2008-04-02 19:21:41 -04:00
Kristian Høgsberg
7c20f65fea Add @XORG_CFLAGS@ to satisfy xf86* includes.
Pointed out by Hasso Tepper.
2008-04-02 19:08:33 -04:00
Xiang, Haihao
b31de6a590 dri2: fix crasher if DRI2Connect fails 2008-04-02 16:29:30 +10:00
Hong Liu
ebc56aca8b Bug #15160: quirk Proview AY765C
prefer first detailed timing
2008-04-02 10:46:03 +08:00
Goneri Le Bouder
9500033b9e xfree86: don't crash in AutoConfig if the primary device is not pci
Only call matchDriverFromFiles() if we found a pci device.
Debian bug#472823 (http://bugs.debian.org/472823).
2008-04-01 20:23:38 +02:00
Kristian Høgsberg
c40e0b51f0 Implement DRI2 direct rendering and update AIGLX to DRI interface changes.
Get rid of glcontextmodes.[ch] from build, rename __GlcontextModes to
__GLXcontext.  Drop all #includes of glcontextmodes.h and glcore.h.
Drop the DRI context modes extension.

Add protocol code to DRI2 module and load DRI2 extension by default.
2008-03-31 16:50:58 -04:00
Adam Jackson
933ffcdf7d Compile fix. 2008-03-28 17:53:55 -04:00
Adam Jackson
9e8451d869 Add E-EDID segment selection. 2008-03-28 17:43:10 -04:00
Adam Jackson
0b4aef4d6d Refactor DDC2 code to allow for proper segmented addressing. 2008-03-28 17:43:01 -04:00
Adam Jackson
88ece11d6c Start E-EDID support in the DDC module.
Since there's no way to safely know how many blocks xf86DoEDID_DDC2 would
return, add a new xf86DoEEDID entrypoint to do that, and implement the
one in terms of the other.
2008-03-28 17:39:23 -04:00
Eamon Walsh
b5f98fcea2 XSELinux: Add xorg.conf option for permissive/enforcing/disabled.
Patch by Joe Nall.

The option goes in the "extmod" subsection.
TODO: Make it easier for extension modules to handle their own options.
2008-03-28 14:14:23 -04:00
Dave Airlie
c747030a49 quirk: fix LPL monitors properly.
no point having a h cm fix when we really want to copy the sizes from the
other place.

RH BZ 435216
2008-03-27 15:19:52 +10:00
Adam Jackson
862ff9ac92 Bug #11510: Fix build without RECORD. 2008-03-24 13:37:42 -04:00
Adam Jackson
87bfd3bd96 Bug #11508: Fix build without XV. 2008-03-24 13:33:38 -04:00
Julien Cristau
4217ba0cf0 xaa: use xf86ReturnOptValBool instead of xf86IsOptionSet
The latter doesn't return the option's value, just whether it's present
in the configuration.
2008-03-22 17:53:45 +01:00
Julien Cristau
6b9d2bb1f7 exa: use xf86ReturnOptValBool instead of xf86IsOptionSet
The latter doesn't give you the option's value, it just tells you if
it's present in the configuration.  So using Option "EXANoComposite" "false"
disabled composite acceleration.
2008-03-22 17:28:48 +01:00
Michel Dänzer
da973e962d Fix RandR 1.2 driver interface conversion of two colour cursors to ARGB
This patch (and not setting HARDWARE_CURSOR_BIT_ORDER_MSBFIRST on big endian
platforms) fixes it for me with the radeon driver and doesn't break intel.

Correct patch this time :)
2008-03-20 09:18:29 -04:00
Alex Deucher
f8c1eb29e2 Revert "Fix RandR 1.2 driver interface conversion of two colour cursors to ARGB"
This reverts commit 2673525796.

Pushed the wrong patch.
2008-03-20 09:14:41 -04:00
Michel Dänzer
2673525796 Fix RandR 1.2 driver interface conversion of two colour cursors to ARGB
See bug 11796
2008-03-19 19:12:37 -04:00
Jesse Barnes
afd7428690 Cleanup logic in xf86PrepareOutputs
Should have done this in the first place.  Since we're checking for the absence
of the get_crtc callback in the first place, we'll short circuit the later call
and disable the output, so the ugly "continue" block is unnecesary.
2008-03-17 14:55:44 -07:00
Jesse Barnes
ba85caacb5 Make xf86SetDesiredModes aware of current output configuration
By adding a new output callback, ->get_crtc, xf86SetDesiredModes is able to
avoid turning off outputs & CRTCs if the current output<->CRTC mappings are the
same as the desired configuration.  This helps avoid flickering displays at
startup time, which speeds things up a little and looks better.
2008-03-17 14:13:09 -07:00
Jesse Barnes
bee2ddf35f Fail CRTC configuration if !vtSema
Unless we check for vtSema before calling into the CRTC and output callbacks,
we may end up trying to access video memory that no longer exists, leading to a
crash.  So if we don't have vtSema, return FALSE to the caller, indicating that
we didn't do anything.

Fixes #14444.
2008-03-17 08:33:01 -07:00
Matthieu Herrb
db248ffb84 test for the presence of pci_system_init_dev_mem() before calling it.
This avoids creating a dependency on -current libpciaccess for
BSD systems other than OpenBSD (which don't otherwise need it).
2008-03-16 18:46:11 +01:00
Adam Jackson
57d48d94b8 Fix a stray use of ALLOCATE_LOCAL. 2008-03-14 14:46:03 -04:00
Adam Jackson
8248537722 RANDR 1.2: Fix initial mode aspect ratio match in a corner case.
Actually more like in the mainline case, where the ideal mode happens to
be the very first aspect match on the first monitor.  But let's not
split hairs.
2008-03-14 14:24:21 -04:00
Bart Trojanowski
1b9878ffcf Bug #14332: Fix PCI access cycles from x86emu.
The address written to 0xcf8 contains the PCI slot address to send the
config cycle to.  However, we would ignore that and always send the
cycle to the device whose BIOS we were running.  This breaks some
integrated graphics platforms that have explicit knowledge about the
system's host bridge, for example.
2008-03-13 17:42:16 -04:00
Doug Chapman
f7abe05b33 Bug #14091: Fix build (and runtime) on ia64. 2008-03-13 17:40:34 -04:00
Adam Jackson
5d7437c29e RANDR 1.2: Fix the RANDR 1.1 screen size estimation to approach reality.
While the ScreenRec's notion of size in millimeters would get updates,
the RANDR 1.1 notion wouldn't, so your screen would appear to be square
and probably at some ludicrous DPI.
2008-03-13 17:37:12 -04:00
Adam Jackson
61c3f63a75 RANDR 1.2: Don't report a square resolution to RANDR 1.1 clients.
It can't possibly do anything useful, and older versions of Gnome (and
proably others) get very confused by it.  So do the drivers, for that
matter.
2008-03-13 17:34:54 -04:00
Mark Kettenis
06c0372c3a OpenBSD support for libpciaccess.
xserver and libpciaccess both need to open /dev/xf86, which can only
be opened once.  I implemented pci_system_init_dev_mem() like Ian
suggested.  This requires some minor changes to the BSD-specific
os-support code.  Since pci_system_init_dev_mem() is a no-op on
FreeBSD this should be no problem.
2008-03-12 21:45:37 +01:00
Matthias Hopf
2036851125 Return randr interface version in xf86CrtcScreenInit()
Necessary to allow drivers to be run-time backwards compatible when using the
modes/ functions w/o providing their own copy.
2008-03-12 11:37:28 +01:00
Kristian Høgsberg
bc504ffbba DRI2: Add DRI2AuthConnection().
DRI2 uses the same authentication scheme as XF86DRI, so implement this
entry point so DRI2 protocol code can access it.
2008-03-11 00:56:16 -04:00
Adam Jackson
ab9b0b36ac Add the "amd" driver to magic driver selection. 2008-03-10 13:40:00 -04:00
Adam Jackson
0f6aaf636b Bug #14927: Fix the math for xf86NumDefaultModes. 2008-03-10 09:14:20 -04:00
Kristian Høgsberg
acedc03367 DRI2: Return event buffer head index in DRI2CreateDrawable.
And pass it to the DRI driver in AIGLX.
2008-03-09 21:39:19 -04:00
Adam Jackson
3bf7ff7032 Size xf86DefaultModes explicitly.
i.e., don't check for the end of the list by ->name == NULL, since that
won't work now.  Fix the consumers of xf86DefaultModes to use the new
explicit size as well.
2008-03-07 09:25:06 -05:00
Adam Jackson
3fcb6445dc Fix segfault when a monitor exists but has no modes.
Thanks to Zhenyu Wang for finding this.
2008-03-07 08:30:19 -05:00
Aaron Plattner
a8d760f567 Get modes code building with old X servers again.
This change uses XORG_VERSION_CURRENT < 7.0 to mean "server newer than 1.2"
since XORG_VERSION current went backwards at some point.
2008-03-06 14:42:00 -08:00
Jesse Barnes
ca616b902b Allow RandR get output property to call into drivers
In order to report accurate values to users of the RandR property interface,
it's sometimes necessary to ask the driver to update the value (for example
when backlight brightness changes without the server's knowledge, due to hotkey
events or direct sysfs banging).

This patch wires up the core server code with a new xf86CrtcFuncs callback,
get_property, to allow for this.

The new code is available under the RANDR_13_INTERFACE define, which in turn
depends on the RANDR_12_INTERFACE code.
2008-03-06 13:50:58 -08:00
Adam Jackson
34b69e3bc0 Fix distcheck.
(cherry picked from commit 2a47accff8)
2008-03-05 23:57:15 -05:00
Adam Jackson
27e7dacbf7 Make xf86InitialConfiguration slightly smarter.
Old heuristic was to find the first monitor that expressed a preference,
then attempt to get all other monitors to agree.  This doesn't work
particularly well when the two sets of modes don't precisely intersect,
you get overlapping-but-not-identical output geometry and things go wrong.

New heuristic is:
- Exact user preference, if given
- Exact output preference, if the same for all outputs
- Best (largest) mode of modes common to all outputs:
  - with the same aspect ratio as all outputs (may be NULL)
  - with 4:3 aspect ratio
- Then the old heuristic to try to get something lit

Note that it is simply not doable to have a reliable initial output guess if
you insist on trying to clone all outputs together.  It's far too easy to
end up with displays that simply don't have modes in common.  We need to
switch to right-of placement someday, once we're not limited to CRTC size
limits and we have working multi-GPU in RANDR.
2008-03-04 11:38:34 -05:00
Adam Jackson
95df04b744 Remove all mention of the vga driver from the config logic. 2008-03-04 10:59:24 -05:00
Peter Hutterer
4f2cd0ed96 Merge branch 'master' into mpx
This merge reverts Magnus' device coorindate scaling changes. MPX core event
generation is very different, so we can't scale in GetPointerEvents.

Conflicts:

	Xi/opendev.c
	dix/devices.c
	dix/dixfonts.c
	dix/getevents.c
	dix/resource.c
	dix/window.c
	hw/xfree86/common/xf86Xinput.c
	mi/mipointer.c
	xkb/ddxBeep.c
	xkb/ddxCtrls.c
	xkb/ddxKeyClick.c
	xkb/ddxList.c
	xkb/ddxLoad.c
	xkb/xkb.c
	xkb/xkbAccessX.c
	xkb/xkbEvents.c
	xkb/xkbInit.c
	xkb/xkbPrKeyEv.c
	xkb/xkbUtils.c
2008-03-04 18:11:10 +10:30
James Cloos
613852ce6a Fix some documentation typos 2008-03-03 16:11:05 -05:00
Adam Jackson
708f07753f RANDR 1.2: Inherit PreferredMode from the global configuration, if any.
If you don't do this, then Modes "800x600" in the Display subsection will
be dutifully ignored and the driver will start at whatever resolution it
feels like.
2008-03-03 15:49:48 -05:00
Adam Jackson
3b73d62791 xf86DDCMonitorSet: Honor the DisplaySize from the config file.
We honor sync ranges and pixel clock settings from the config here, no
reason to ignore DisplaySize.
2008-03-03 15:43:22 -05:00
David Nusinow
f7ab2d3821 Add missing file from previous commit. 2008-03-02 18:36:25 -05:00
David Nusinow
b5ce0e1d0b Bug #13860: Ensure that the DRI mode is in octal format. 2008-03-02 17:12:02 -05:00
Matthieu Herrb
c934366424 use UTILS_SYS_LIBS to pass SYS_LIBS to utils/ioports correctly 2008-03-02 19:32:01 +01:00
George Sapountzis
3d64290547 clean some "unused" warnings 2008-03-01 19:49:24 +02:00
Maarten Maathuis
8af2c39bcc Fix big mistake in commit fd41f46ac6.
- When a mode is deleted, the name pointer is also free()'ed.
- This leaves other modes with an invalid pointer.
2008-03-01 16:54:01 +01:00
Eamon Walsh
ef60632e20 dix: Modify callers of property and selection API to use new interfaces. 2008-02-29 18:01:37 -05:00
Eamon Walsh
34bf308a9e dix: Refactoring of selection code to allow for polyinstantiation.
Introduces dixLookupSelection() API.
Removes NumCurrentSelections from API.
2008-02-29 18:01:37 -05:00
Eamon Walsh
d5715f7bea dix: Refactoring of property code to allow for polyinstantiation.
Introduces dixLookupProperty() API.
2008-02-29 18:01:37 -05:00
Adam Jackson
b7eb92774a EDID 1.4: Print additional CVT support data in the log. 2008-02-29 16:01:15 -05:00
Adam Jackson
31014d88af EDID 1.4: Decode additional CVT support information.
Table 3.28: Display Range Limits & CVT Support Definition
2008-02-29 16:01:15 -05:00
Adam Jackson
d1c48955f8 Fix CVT abuse in DDCModesFromStandardTiming.
CVT is enough different from GTF that it should not be used on monitors
that aren't expecting it.  This brings us closer to what the spec says
the correct behaviour is.
2008-02-29 16:01:15 -05:00
Adam Jackson
26c2e95fa5 Nuke a duplicate SYMFUNC(xf86CVTMode) 2008-02-29 16:01:15 -05:00
Adam Jackson
ca5625b911 Add xf86GTFMode().
This should probably be shared like xf86CVTMode().
2008-02-29 16:01:15 -05:00
Adam Jackson
4cb4817c10 Remove the duplicate copy of xf86cvt.c 2008-02-29 16:01:15 -05:00
Adam Jackson
e65e51a99b Constify the built-in mode tables. 2008-02-29 16:01:14 -05:00
Adam Jackson
6828d8fc2b Clean up DisplayModeRec handling in many places.
Use xf86DuplicateMode() instead of rolling our own, and change
malloc+memset to calloc.
2008-02-29 16:01:14 -05:00
Adam Jackson
85617b56e5 Remove some #if 0 guarding code duplicated in xf86Modes.c 2008-02-29 16:01:14 -05:00
Adam Jackson
fd41f46ac6 Allow xf86DuplicateMode() to work correctly on read-only modes.
Before this it was meaningless to try to mark DisplayModeRec tables
const, since the mode name would be emitted as a pointer to an
anonymous string constant, and therefore would have to be fixed up by
ld.so and so couldn't live in .rodata.  With this change the standard
mode lists can live in .rodata, and modes duplicated from them will
have their names filled in on the fly.
2008-02-29 16:01:14 -05:00
Adam Jackson
8ac19d16a0 Add several comments documenting our EDID failures. 2008-02-29 16:01:14 -05:00
Kristian Høgsberg
13bfa5937d GLX: Adjust to changes in DRI driver interface. 2008-02-29 15:11:13 -05:00
Tiago Vignatti
aebd9dc252 Oops, there's one more parenthesis. 2008-02-28 01:22:31 -03:00
Dave Airlie
08afc70513 quirks: another LPL panel with the cm/mm wrong 2008-02-28 10:45:41 +10:00
Dave Airlie
d12b7b6632 xf86Crtc: add higher level modesetting entry point.
For kernel modesetting work we need a bigger stick to beat the modesetting path
2008-02-27 07:09:14 +10:00
Tiago Vignatti
c46f7b62d2 Fine, we don't need pciInit() anymore. Nuke, nuke, nuke... 2008-02-25 18:14:08 -03:00
Tiago Vignatti
a9050d5424 Jesus, pciInit() was called 32 times in my machine without need!
xf86scanpci() will always call pciInit() before any other function, so
there's no need to guarantee it after.
2008-02-25 18:10:18 -03:00
Tiago Vignatti
81272f7ec9 Some doc clean up:
clean up legacy things in os-support/bus/Pci.c.

    Put InitOutput() comment to its right place.
2008-02-25 17:39:33 -03:00
Tiago Vignatti
7c582dd6de remove lnxPciInit() unused function. 2008-02-25 17:31:37 -03:00
Tiago Vignatti
9727db88d5 No more "-scanpci" given that we already have it in libpciaccess.
(Yeah, lets nuke dead code!)
2008-02-25 17:08:07 -03:00
Tiago Vignatti
f19f7b8e53 Clean some garbage caused when pciaccess was merged:
FindPCIVideoInfo() function isn't need anymore.

    xf86scanpci() is being called only once so we don't need permanent
    (static) variables there.

    restorePciState() is not used for now (until we find why multiple
    cards aren't working).
2008-02-25 17:07:07 -03:00
Adam Jackson
4b50e71bf1 Bug #13736: Fix %bx in VBEGetPixelClock to match spec.
Reported by Yannick Henault.
2008-02-24 20:25:13 -05:00
Adam Jackson
e6a4cde16d Use the client-side XKB headers for the config utilities 2008-02-22 18:36:29 -05:00
Adam Jackson
347db49ebe s/via/openchrome/ in the autoconfig logic.
Xorg's via driver is effectively dead anyway.
2008-02-22 16:05:33 -05:00
Adam Jackson
ee21aba6be Fix Xinerama's consolidated visual handling.
Formerly the code claimed it could only handle up to 256 visuals, which
was true.  Also true, but not explicitly stated, was that it could only
handle visuals with VID < 256.  If you have enough screens, and subsystems
that add lots of visuals, you can easily run off the end.  (Made worse
because we allocate visual IDs from the same pool as XIDs.)  If your app
then chooses a visual > 256, then the Xinerama code would throw BadMatch
on CreateColormap and your app wouldn't start.

With this change, PanoramiXVisualTable is gone.  Other subsystems that
were using it as a translation table between each screen's visuals now
use a PanoramiXTranslateVisual() helper.
2008-02-22 15:19:54 -05:00
Peter Hutterer
67a78e84a8 Revert "xfree86: plug a memory leak in xf86LoadModules."
This reverts commit 3abce3ea2b and
6cbaf15e61.

The memory returned to xf86LoadModule was allocated in doLoadModule, which
calls the respective module's PreInit. As it turns out, input and output
drivers store a pointer to the module elswhere, so freeing it in
xf86LoadModule is a bad idea.

For further reference: hw/xfree86/common/xf86Helper.c
    Input drivers: xf86InputDriverList[blah]->module = module;
    Output drivers: xf86DriverList[blah]->module = module;

Unloading the module would not look pretty then.
2008-02-19 21:31:50 +10:30
Peter Hutterer
74628d6397 dix: change GetEventList to return length of list and set parameter in place.
Changing DDXs to use new prototype too.
2008-02-19 16:53:15 +10:30
Peter Hutterer
6cbaf15e61 xfree86: guard against NULL-pointer dereferences in xf86LoadModules.
Should have been part of 3abce3ea2b, but I
forgot to git-update-index before I committed.

Thanks to Bill Crawford for pointing it out.
2008-02-19 12:05:13 +10:30
Peter Hutterer
3fe64d8d27 Move input event list initialisation and storage from DDX to DIX.
Rather than letting the DDX allocate the events, allocate them once in the DIX
and just pass it around when needed.

DDX should call GetEventList() to obtain this list and then pass it into
Get{Pointer|Keyboard}Events.
2008-02-18 18:46:01 +10:30
Arjan van de Ven
3abce3ea2b xfree86: plug a memory leak in xf86LoadModules.
LoadModule() returns the only reference to a fresh piece of memory (a
ModuleDescPtr). Sadly, xf86LoadModules dropped the return value on the floor
leaking memory for each module it loaded.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-18 18:14:40 +10:30
Arjan van de Ven
6dc71f6b2c xfree86: plug memory leak in InitPathList.
All the failure paths were very diligent in freeing the "fullpath" temporary
string, but the success case was not. All the content only got strdup()d, so
it's not live memory anymore.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-18 18:14:33 +10:30
Arjan van de Ven
1bec6ad897 xfree86: plug memory leak in xf86LogInit()
xf86LogInit allocates a piece of memory, stores it in lf. LogInit() will then
effectively strdup it, but lf is never freed again.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-18 18:14:20 +10:30
Daniel Stone
68bd7ac193 XKB: Move headers into the server tree
We need to start breaking the XKB API to enforce sanity, so drag whichever
headers we need to do so into the server tree, as the client API is set in
stone, being part of Xlib.
2008-02-17 22:52:07 +02:00
Maarten Maathuis
a48cc88ea2 Fix rotation for multi-monitor situation.
- The (x,y)-coordinates of the crtc were not being passed as xFixed values, which made it an obscure bug to find.
- Fix bug #13787.
2008-02-17 18:47:28 +01:00
Kristian Høgsberg
0ffb6a3ad0 GLX: Implement support for TTM BO based TFP when available. 2008-02-14 22:20:56 -05:00
Kristian Høgsberg
879515b139 Add GLX provider for DRI2. 2008-02-14 19:53:49 -05:00
Kristian Høgsberg
b71dc54352 Add DRI2 module. 2008-02-14 19:53:49 -05:00
Adam Jackson
3e0353c785 Bah, macros are hard. 2008-02-15 06:42:48 +11:00
Maarten Maathuis
c38feeb149 Fix typo in commit b8b7cdf6df. 2008-02-14 18:52:47 +01:00
Adam Jackson
b8b7cdf6df Silence useless debug spew from XFree86-Misc extension. 2008-02-15 01:31:46 +11:00
Adam Jackson
ba69904148 Simplify dlloader a bit more. 2008-02-14 08:52:43 +11:00
Adam Jackson
f750ce53ac Remove some braindamage from ModuleDesc.
Yay dead code elimination.
2008-02-14 08:22:57 +11:00
Adam Jackson
e91ff09568 Friends don't let friends call xf86AddModuleInfo.
That code only existed to leak memory.  It can go now, thanks.
2008-02-14 08:21:44 +11:00