Commit Graph

2339 Commits

Author SHA1 Message Date
Peter Hutterer
4ddb002b68 xfree86: fix two compiler warnings in xf86vmode.c
xf86vmode.c:1578: warning: pointer targets in passing argument 1 of
‘SwapShorts’ differ in signedness
../../../../include/misc.h:231: note: expected ‘short int *’ but argument is
of type ‘CARD16 *’

xf86vmode.c:1543: warning: unused variable ‘i’

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-17 09:05:22 +10:00
Peter Hutterer
9d039ef504 xfree86: silence a few int10 compiler warnings.
'format ‘%#x’ expects type ‘unsigned int’, but argument 2 has type ‘CARD32’'
and similar.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-17 09:05:22 +10:00
Adam Jackson
fb882b3da1 EDID: Carp about 1.4 monitors with no preferred refresh rate
You would think, having finally tightened down the spec, that
monitor vendors would bother to implement what the spec actually
mandates.  You would be wrong.
2009-06-16 14:58:10 -04:00
Dave Airlie
0de58c88ab xfree86: move didLock assignment down to where the function pointer is valid.
crtc->funcs->lock is NULL, so it's no use calling it here. Move it down so
it's actually defined before we use it.

Introduced with 6f59a81600.

Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-11 14:24:42 +10:00
Benjamin Defnet
6f59a81600 hw/xf86/modes: Set crtc mode/rotation/transform before calling set_mode_major
This moves code out of each implementation of set_mode_major and back into
the X server. The real feature here is that the transform is now available
in the crtc for use by either xf86CrtcRotate or whatever the driver wants to
do. Without this change, the transform was lost for drivers providing the
set_mode_major interface.

Note that users of this API will want to stop smashing the transformPresent
field, and could also stop setting mode/x/y/rotation for new enough X servers,
but there's no reason to make that change as it will break things when
running against older X servers.

Signed-off-by: Keith Packard <keithp@keithp.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
2009-06-09 16:23:38 -07:00
Adam Jackson
746e7b22e1 cvt: Allow multiple-of-60Hz refresh rates for reduced blanking.
Doing so generates the same timings as given in the DMT spec for
120Hz RB, so we should be set there.  Other rates might be legal
too but why push our luck.
2009-06-09 16:20:11 -04:00
Dave Airlie
b6c16fc7da crtc/gamma: check xf86_config is valid before using it.
If you have multiple cards, some that support randr 1.2 and some that don't
you can get a null dereference in here.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-06-05 12:04:03 +10:00
Peter Hutterer
993daf0649 Merge branch 'master' into xi2 2009-06-04 15:11:36 +10:00
Adam Jackson
e1e8c7ddd7 s/MIN/min/, s/MAX/max/ (#2968) 2009-06-03 13:45:42 -04:00
Peter Hutterer
6de67d3206 Merge branch 'master' into xi2 2009-06-03 16:11:33 +10:00
Matthias Hopf
75795637c7 Revert "randr: Setting gamma: inverse logic looks more sane"
This reverts commit 79138eec1b.
2009-06-02 18:41:36 +02:00
Adam Jackson
71a83d68ab xfree86: Remove loader symbol list ABI stubs
These have been nops since 2006 and functionally void since 7.0.
2009-05-28 15:32:03 -04:00
Peter Hutterer
d7aef3f663 Merge branch 'master' into xi2
Conflicts:
	Xext/geext.c
	Xi/chdevcur.c
	Xi/extgrbdev.c
	Xi/xiproperty.c
	configure.ac
	dix/ptrveloc.c
	hw/xfree86/common/xf86Config.c
	mi/mipointer.h
	test/input.c
	xkb/xkb.c
2009-05-28 17:20:58 +10:00
Adam Jackson
2107becb0c xfree86: Remove unused (and useless) xf86{Add,Delete}ModuleInfo 2009-05-27 17:13:19 -04:00
Federico Mena Quintero
e08c6a0752 randr: bug #21554 - re-probe outputs when coming back from laptop unsuspend
Make xf86 RANDR wrap the EnterVT call chain, so it can re-probe the
outputs when a laptop comes back from suspend/unsuspend (actually, any
time that we enter our VT again).  The X server should then send RR*
events to clients, so they can cope with a monitor that was unplugged
while the laptop was suspended.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-05-27 15:57:29 -04:00
Matthieu Herrb
c70511931c fix typo in cabff9007 which led to an unintialized memory read and a crash. 2009-05-24 10:33:40 +02:00
Adam Jackson
99e22b86c5 EDID: Add modes from Established Timings III descriptor to mode pool
EDID 1.4, section 3.10.3.9
2009-05-22 13:27:16 -04:00
Peter Hutterer
eeffb83fea ABI_XINPUT_VERSION 6 2009-05-22 15:44:57 +10:00
Peter Hutterer
b12d302df8 Input: rename DeviceIntRec->isMaster to ->type.
isMaster is not enough as long as we differ between master pointers and
keyboard. With flexible device classes, the usual checks for whether a
master device is a pointer (currently check for ->button, ->valuators or
->key) do not work as an SD may post an event through a master and mess this
check up.

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

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

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

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

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-22 12:24:21 +10:00
Adam Jackson
a2c5ee36b2 EDID: Be more cautious about finding vendor blocks.
Many old monitors zero-fill the detailed descriptors, so check for that
to avoid a useless warning like:

(WW) RADEON(0): Unknown vendor-specific block 0
2009-05-21 10:20:48 -04:00
Peter Hutterer
5b5e3fa277 xfree86: treat other drivers as mouse drivers in the config.
Historically, if no input device was referenced in the ServerLayout,
the server would pick the first "mouse" device found in the xorg.conf.
This patch gives evdev, synaptics, vmmouse and void the same status. If
there is a section in the config file using this driver - use it as the core
pointer.

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

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

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

Instead, ActivatePointerGrab should be merged together with
ActivateKeyboardGrab.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-20 16:22:24 +10:00
Peter Hutterer
273890924b input: reduce the number of superfluous hierarchy events
There's only two reasons for hierarchy events:
- device is added, removed, etc. In this case we want to send the event as
  it happens.
- devices are added in a XIChangeDeviceHierarchy request. In this case we
  only want one event cumulating all changes.
2009-05-16 12:20:58 +10:00
Peter Hutterer
e3f296d91d xfree86: Remove superfluous ifdef DEBUG checks.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:20:57 +10:00
Peter Hutterer
2f6253376d xfree86: Remove superfluous ifdef DEBUG checks.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16 12:01:23 +10:00
David Marx
94c5093c8b Solaris: Make sure non-inline versions of asm routines end with ret statements
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-05-15 11:24:15 -07:00
Julien Cristau
2be5eecb4b xfree86: add edid quirk for Samsung Syncmaster 2333HD
It reports vertical size in cm in the detailed mode.
X.Org bug#21750 <http://bugs.freedesktop.org/show_bug.cgi?id=21750>

Reported-by: Peter Poklop <Peter.Poklop@gmx.at>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-05-15 17:35:30 +02:00
Matt Turner
c1bbac2708 Fix mem_barrier() on Alpha
Some clean up (da086901c6) went a bit
too far and removed the needed mem_barrier macro on Alpha.

This re-adds it.
2009-05-14 16:03:04 -04:00
Julien Cristau
4cc33190ef xfree86: Add two __FreeBSD_kernel__ checks
Debian bug#525475 <http://bugs.debian.org/525475>

Reported-by: Petr Salinger <Petr.Salinger@seznam.cz>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-05-14 17:03:11 +02:00
Adam Jackson
c66cf7b64c Update several of my and/or Red Hat's licenses to standard form. 2009-05-14 07:02:44 -04:00
Michel Dänzer
2c1190f888 randr12: Initialize and keep track of updates to VidMode extension gamma value.
This way clients querying the gamma value via the VidMode extension at least
get the last value set via the same, rather than always something bogus.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-14 11:39:16 +02:00
Michel Dänzer
fc3ce861cd randr12: Fix calculation of gamma ramp values.
The reciprocal gamma value was missed in the first copy and this mistake was
propagated to the second one.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2009-05-14 11:35:25 +02:00
Jerome Glisse
f250eea2e9 DRI2: update DRI2 private drawable width & height according to X drawable 2009-05-11 22:53:53 +02:00
Alan Coopersmith
b680bda34d Fix a couple off-by-one array boundary checks.
Error: Write outside array bounds at Xext/geext.c:406
        in function 'GEWindowSetMask' [Symbolic analysis]
       In array dereference of cli->nextSib[extension] with index 'extension'
       Array size is 128 elements (of 4 bytes each), index <= 128

Error: Buffer overflow at dix/events.c:592
	in function 'SetMaskForEvent' [Symbolic analysis]
       In array dereference of filters[deviceid] with index 'deviceid'
       Array size is 20 elements (of 512 bytes each), index >= 0 and index <= 20

Error: Read buffer overflow at hw/xfree86/loader/loader.c:226
	in function 'LoaderOpen' [Symbolic analysis]
       In array dereference of refCount[new_handle] with index 'new_handle'
       Array size is 256 elements (of 4 bytes each), index >= 1 and index <= 256

These bugs were found using the Parfait source code analysis tool.
For more information see http://research.sun.com/projects/parfait

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 12:27:11 -07:00
Peter Hutterer
0d947aa8e8 xfree86: fix xf86PostMotionEventP type checking
We only put internal events into the queue now, so let's check for ET_Motion
rather than the MotionNotify.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:24:12 +10:00
Jesse Barnes
94648bb797 Don't prepare outputs & crtcs if set_mode_major is present
A driver with this hook will take care of preparing the outputs & crtcs,
so calling the prepare functions will just cause unnecessary flicker.

Fixes bug #21077
2009-05-04 15:38:22 -07:00
Ian Romanick
0d9d3f3e36 DRI2: Force allocation of real-front buffer for non-windows as well
For redirected rendering we end up with pixmaps (which the app thinks are
windows) that are double buffered.

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

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 16:17:16 +10:00
Peter Hutterer
c2c515ead3 dix: remove all but main() from main.c
All other functions are pushed into where they seemed to fit.
main.c is now linked separately into libmain.a and linked in by the various
DDXs.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 16:03:56 +10:00
Peter Hutterer
987579c930 dix: remove all but main() from main.c
All other functions are pushed into where they seemed to fit.
main.c is now linked separately into libmain.a and linked in by the various
DDXs.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 15:57:14 +10:00
Alan Coopersmith
2a2a7fa685 Solaris: use <sys/agpgart.h> instead of stale copy in Xorg sources
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-04-27 21:08:35 -07:00
Ian Romanick
ff6c7764c2 DRI2: Implement protocol for DRI2GetBuffersWithFormat
This change implements the protocol for DRI2GetBuffersWithFormat, but
the bulk of the differences are the changes to the extension / driver
interface to make this function work.  The old CreateBuffers and
DeleteBuffers routines are replaced with CreateBuffer and DeleteBuffer
(both singular).

This allows drivers to allocate buffers for a drawable one at a time.
As a result, 3D drivers can now allocate the (fake) front-buffer for a
window only when it is needed.  Since 3D drivers only ask for the
front-buffer on demand, the real front-buffer is always created.  This
allows CopyRegion impelemenations of SwapBuffers to continue working.
As with previous version of this code, if the client asks for the
front-buffer for a window, we instead give it the fake front-buffer.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-24 12:49:19 -07:00
Ian Romanick
28ddfc88d8 DRI2: Add interface for drivers to query DRI2 extension version
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-04-24 12:24:07 -07:00
Joel Bosveld
a1c98f7fa9 Correct fcntl(F_SETOWN) error check in non-Solaris sigio code
commit 64b7f96dca accidentally inverted the comparison, could
result in crashes on some systems later on.

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-04-24 10:12:26 -07:00
Alan Coopersmith
64b7f96dca Add SIGIO/SIGPOLL support for Solaris
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-04-24 00:23:52 -07:00