Commit Graph

7288 Commits

Author SHA1 Message Date
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 97ab0c6eff When converting from double to fixed, round carefully.
This reduces the matrix representation error after inverting a
transformation matrix (although it doesn't eliminate it entirely).

Perhaps we should extend Render to include 64-bit floating point transforms...
2008-11-24 13:24:39 -08:00
Keith Packard 6d3a9e40a4 Compute matrix inversion instead of using wire version in RRCrtcTransformSet
It doesn't make sense to have the client invert this matrix when the server
can do so reasonably efficiently. This avoids weird fixed point rounding
errors when testing the transform against its inverse. Now to fix the
protocol.
2008-11-24 13:24:38 -08:00
Keith Packard 160252d94f Add matrix inversion function (uses doubles)
The obvious matrix inversion function, coded using doubles to avoid fiddling
with fixed point precision adventures.
2008-11-24 13:24:38 -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 3fdb963f6e Correct bilinear filter kernel size (should be 2x2) 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 16c093afd4 Pass filter kernel size through transforms 2008-11-24 13:24:37 -08:00
Keith Packard 1df02d7ddd Add kernel size to Render filters.
This width/height value lets filter users know how far the filter spreads
into the source image.
2008-11-24 13:24:37 -08:00
Keith Packard 40f3dff6b3 Use transform when computing scanout size of modes
Report transformed crtc sizes through RandR and Xinerama. Test screen size
against transformed mode sizes when configuring the Crtc.
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 acda790e43 [render] Split out filter finding from filter setting.
To prepare for RandR using filters in transforms, split out
code paths so that the RandR code can validate the filter name and
parameters during the transform set operation so that use of the filter
later will not have unreportable errors.
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 ff9d1cd843 Add funcs to convert between protocol and pixman matrices 2008-11-24 13:24:36 -08:00
Keith Packard c2f254da69 Randr now depends on Render for matrices 2008-11-24 13:24:36 -08:00
Keith Packard f547650328 Export a bunch of matrix operations from render.
The render extension uses many matrix operations internally, this change
exposes those functions to other parts of the server, drivers and
extensions. The change is motivated by the 'transform' additions to the
RandR extension but will likely be useful elsewhere.
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
Peter Hutterer e078901a4e dix: Enable core devices in InitCoreDevices already.
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:40 +10:00
Peter Hutterer d939f2482e dix: fix false comment.
VCP and VCK are always present, this comment is a leftover from earlier MPX
days.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-24 10:07:22 +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 701f8e3a94 XQuartz: Update applewm deps
(cherry picked from commit 0ad91c59be8759a9c9e9d4f639056d8c689a3bc5)
2008-11-21 11:55:43 -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 f4e725f248 dix: memset DeviceVelocityPtr to zero.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-11-21 09:04:51 +10:00
Simon Thum 7f818776b7 dix: fix typos in comments, one formatting fix.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-21 09:04:17 +10:00