Commit Graph

3490 Commits

Author SHA1 Message Date
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
Jeremy Huddleston 8964b8d0ec XQuartz: More 1.6 server API updates 2008-11-22 14:23:23 -08:00
Jeremy Huddleston ad0f232165 XQuartz: Fixed --disable-glx 2008-11-22 14:04:28 -08:00
Jeremy Huddleston 8e2287c220 XQuartz: Updated some code to use newer server API 2008-11-22 13:57:45 -08:00
George Staplin 6eb33bc0cb XQuartz: GL: Remove the inclusion of glcontextmodes.h.
Add some commentary about future directions needed for the GLX drawable
creation and destruction code.

Match xalloc with xfree.

I made some minor formatting improvements.
(cherry picked from commit b772d64fce31d16b498c621096e39d5203994d6e)
2008-11-22 11:13:51 -08:00
George Staplin 429b4b20d5 XQuartz: GL: Add a branch to prevent a NULL DrawablePtr structure access.
In attach() check for pDraw being NULL, and also print an ErrorF message,
because we eventually want to track down why this is occuring.

It's unclear how this occurs, but as I noted in the 1.4 branch, I believe that
the DrawablePtr/struct _Drawable -> id is the member being accessed that causes
KERN_PROTECTION_FAILURE at 0x0000000000000004

This passes my tests using: env LIBGL_ALWAYS_INDIRECT=1 ./sometest.

I fixed a warning: caused by initializing the screen->base.visuals with the
configs.  It is a ** not a *.  It seems that some other part of GLX will
initialize this for us.
(cherry picked from commit 17f6a261fca6d5856069dce28bb4838261afc6bc)
2008-11-22 11:13:46 -08: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
Jeremy Huddleston 76fcfc4801 XQuartz: GLX: sync up indirect.c to match George's updates in the xorg-server-1.5-apple branch 2008-11-21 20:25:55 -08:00
George Staplin 1a717779b6 XQuartz: GL: remove glcontextmodes.* from the Makefile.am. It has been replaced.
The new replacement is __GLXconfig.
(cherry picked from commit 3bed9b65c807a1aeb662b8042826cbb54280181d)
2008-11-21 20:10:57 -08:00
Alan Coopersmith dacad9ae0b Xephyr man page typo fixes.
Also trailing white space removal to clear git warnings.
2008-11-21 17:16:22 -08:00
Jeremy Huddleston ca64b5949d XQuartz: Don't use LS to find X11.app on Tiger.
(cherry picked from commit e62107e55261ef252a2a24dd26a60e5dd295d560)
2008-11-21 11:55:49 -08:00
Jeremy Huddleston 393325f908 XQuartz: spewCallStack is noop on Tiger now...
(cherry picked from commit 56c469a68b92c6cf003802f418ea00bd596a41c3)
2008-11-21 10:59:41 -08:00
Jeremy Huddleston 5d47a5d652 XQuartz: pbproxy: Added some typedefs for types not available on Tiger
(cherry picked from commit 0947aa7911f1de44bfe16e505a757b659c5ab2a8)
2008-11-21 10:59:34 -08:00
Jeremy Huddleston b262788401 XQuartz: More Tiger ifdefs
(cherry picked from commit 803509072f2c039e5cd555c4ac14d672f0e698c5)
2008-11-21 10:59:26 -08:00
Jeremy Huddleston 5107444443 XQuartz: Resurrect the old audio path for Tiger
(cherry picked from commit a61a8d9047e8765faf3892f4f2148c8553fd192c)
2008-11-21 10:59:17 -08:00
Jeremy Huddleston d7ee76f9dd XQuartz: pbproxy: Push the pbproxy Xevent processing into its own thread
and just have the AppKit thread wake it up.
(cherry picked from commit 799715b8f3327c8da59ab45706e85af2d2c438e4)
2008-11-21 10:59:10 -08: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 6a1b2fed7e Add a man page for Xephyr, with information from the README file. 2008-11-21 18:21:18 +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
Jeremy Huddleston c4ec71b405 XQuartz: pbproxy: nuke RCS Id, update header license/copyright
(cherry picked from commit 477c6968a88429bb9c10222a5836bdc936d10ab1)
2008-11-19 10:58:15 -08:00
Jeremy Huddleston 42f330cf9e XQuartz: pbproxy: Remove thread-main.m
it got accidently added and isn't used.
(cherry picked from commit cb6ffce68a2d10022fa92725d2d1837da4b3b89f)
2008-11-19 10:58:06 -08: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
Jeremy Huddleston 03f7a66a1a XQuartz: Don't use TIS on Tiger...
(cherry picked from commit be8ac84c15e7e76c581b9e75cda74139394aa4c7)
2008-11-15 19:52:52 -08:00
Jeremy Huddleston e8112784e8 XQuartz: Integrated xpbproxy into the server.
Added a configure option called --enable-standalone-xpbproxy which is useful for deveoping xpbproxy.
The 'active' switch in preferences just disables the in-server xpbproxy (not this standalone).
(cherry picked from commit 42944936326ef8732f622db9f75b79a92980550d)
2008-11-15 19:52:34 -08:00
Michel Dänzer 24928b85dc DRI2: Don't crash in DRI2ClipNotify when DRI2DrawablePtr is NULL. 2008-11-15 13:28:53 +01:00
Jeremy Huddleston bc4f804cd8 XQuartz: Actually add glcontextmodes.[hc]
(cherry picked from commit 763195d338345e3637d112279bdbe002b6e7791a)
2008-11-14 15:13:59 -08:00
Ben Byer aedafbea0e fix compilation on systems that don't have
XP_EVENT_SPACE_CHANGED defined
(cherry picked from commit 6e833e41e2f3a84f7e5164b918737b3975517c12)
2008-11-14 15:11:42 -08:00
Jeremy Huddleston b078936571 XQuartz: Initial work on readding GLX to the 1.5 server
(cherry picked from commit a186cab6ae82340770c13b37ff5df731ce2a0ceb)
2008-11-14 15:10:32 -08:00