Adam Jackson
f5ef57e5fe
randr: Don't send output property events on server exit
...
If the Window resource type is already gone, there's no point in trying
to send events, all it can do is access already-freed memory.
Relevant thread:
http://lists.freedesktop.org/archives/xorg/2008-November/040443.html
(cherry picked from commit b0d371ab0a
)
Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-02 23:38:33 -08:00
Keith Packard
f0e7a792be
Add server support for RRGetScreenResourcesCurrent
...
This depends on randrproto 1.2.99.1
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit fc70839431
)
2008-11-26 15:55:56 -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
Keith Packard
9c7679240a
[randr] don't try to compute crtc transform when no mode is set.
...
Dereferencing the NULL mode pointer would cause a crash. As these transform
matrices won't be used while the CRTC is disabled, just leave their values
alone.
2008-11-24 13:24:41 -08:00
Keith Packard
315b6d0a42
Update RandR global transform when driver notifies of transform change.
...
Need to compute and save the global transform when the driver changes it.
2008-11-24 13:24:41 -08:00
Keith Packard
5d9282fde9
Export rrtransform.h as needed by randrstr.h
...
When the transform management was moved from randrstr.h, the associated
header file became necessary to build drivers. Include it as a part of the
sdk headers.
2008-11-24 13:24:41 -08:00
Keith Packard
93179c214f
rrtransform needs randrstr to get RANDR_INTERFACE defines
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
6f734aecae
Eliminate inverse matrix from randr transform protocol
...
It is easier, and potentially more precise, to compute the inverse in the
server where everything can eventually be kept in floating point form.
2008-11-24 13:24:39 -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
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
16c093afd4
Pass filter kernel size through transforms
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
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
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
Pierre Willenbrock
8de26770a4
RANDR: Fix output property event delivery.
2008-10-16 14:28:14 -04:00
Keith Packard
9187f6ad9e
RANDR: Delivery output property events.
2008-10-06 12:22:57 -04:00
Adam Jackson
e6b1c1fada
const cleanup
2008-10-03 17:51:19 -04:00
Peter Harris
2b266eda6e
Fix panoramiX request and reply swapping
...
Fix panoramiX request and reply swapping
Set window and screen values in panoramix replies
Prevent buffer overrun in ProcPanoramiXGetScreenSize
2008-09-21 19:19:24 +02:00
Keith Packard
31c62495f1
Drop a reference to user mode after create
...
User mode has no customer when create until assigned
to some output.
2008-09-10 13:11:09 +08:00
Zhenyu Wang
4e004c6828
Revert "randr: fix user mode create initial reference count"
...
This reverts commit 7c5ca85a9e
.
2008-09-08 09:16:59 +08:00
Zhenyu Wang
7c5ca85a9e
randr: fix user mode create initial reference count
...
Don't need extra reference count adding when creating user mode.
This fixes user mode destroy, otherwise we get BadAccess error.
2008-09-03 09:41:00 +08:00
Tomas Carnecky
ebea78cdba
Prepare for array-index based devPrivates.
...
TODO: static indices can be made just an int; some indices
can be combined.
2008-08-28 18:05:40 -04:00
Julien Cristau
01264f1792
Add swapped dispatch for randr 1.2 requests
2008-08-21 09:24:02 +02:00
Adam Jackson
64ef7ed072
Centralize declaration of ConnectionInfo.
2008-08-20 13:14:34 -04:00
Tomas Carnecky
68fd6604a1
OutputPropertyNotifyMask is a valid thing to select for.
2008-07-31 10:03:56 -04:00
Adam Jackson
9757106bba
Remove all empty extension reset hooks, replace with NULL.
2008-07-24 15:46:08 -04:00
Peter Hutterer
d894e86aa5
randr: remove superfluous check against uninitialised variable.
...
Thanks to Eamon Walsh for pointing this out.
2008-06-15 11:47:08 +09:30
Eamon Walsh
e90fcd8294
Fix "warning: no previous prototype for ‘miRROutputGetProperty’".
2008-06-13 22:26:43 -04: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
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
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
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
George Sapountzis
3d64290547
clean some "unused" warnings
2008-03-01 19:49:24 +02:00
Eamon Walsh
27bcf40cda
XACE: Fix instances of DixUnknownAccess at hook callsites.
2008-02-28 16:43:43 -05:00
Peter Hutterer
8da83836b6
Merge branch 'master' into mpx
...
Conflicts:
XTrap/xtrapddmi.c
Xext/security.c
Xext/xprint.c
Xext/xtest.c
Xext/xvdisp.c
Xi/exevents.c
Xi/grabdevb.c
Xi/grabdevk.c
Xi/opendev.c
Xi/ungrdev.c
Xi/ungrdevb.c
Xi/ungrdevk.c
dix/cursor.c
dix/devices.c
dix/dixutils.c
dix/events.c
dix/getevents.c
dix/main.c
dix/window.c
hw/xfree86/ramdac/xf86Cursor.c
include/dix.h
include/input.h
include/inputstr.h
mi/midispcur.c
mi/miinitext.c
mi/misprite.c
render/animcur.c
xfixes/cursor.c
xkb/xkbAccessX.c
2008-01-03 17:04:54 +10:30
Eamon Walsh
d4577e4853
Revert "registry: Register RANDR extension protocol names."
...
This reverts commit c827db57e4
.
Moving all the names into dix/registry.c
2007-11-20 17:51:27 -05:00
Eamon Walsh
546d46224e
Revert "registry: Register XINERAMA extension protocol names."
...
This reverts commit b9f5ab98c8
.
Moving all the names into dix/registry.c
2007-11-20 17:37:48 -05:00
Eamon Walsh
2d17f47cc7
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
hw/xnest/Pixmap.c
include/dix.h
2007-11-19 18:10:46 -05:00
Jernej Azarija
a46c30c3be
Bug #12531 : RRModesForScreen can fail to allocate.
2007-11-18 11:45:13 -05:00
Adam Jackson
70e50fa51f
Allocate RRCrtcRecs with calloc.
2007-11-15 17:00:37 -05:00
Eamon Walsh
1603130236
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
Xext/xace.c
Xext/xace.h
2007-11-14 13:35:50 -05:00
Matthias Hopf
f7dd0c72b8
Only clear crtc of output if it is the one we're actually working on.
...
Upon recreation of the RandR internal data structures in RRCrtcNotify() the
crtc of an output could be NULLed if the crtc was shared (cloned) between two
outputs and one of them got another crtc assigned.
2007-11-12 15:12:21 +01:00
Peter Hutterer
0b729051c0
Merge branch 'master' into mpx
...
Conflicts:
Xi/extinit.c
Xi/grabdev.c
Xi/setmode.c
Xi/ungrdev.c
dix/devices.c
dix/events.c
dix/getevents.c
include/dix.h
mi/midispcur.c
mi/misprite.c
xkb/xkbActions.c
xkb/xkbEvents.c
xkb/xkbPrKeyEv.c
2007-11-07 15:37:23 +10:30
Eamon Walsh
a52c9b2a59
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
dix/dispatch.c
dix/property.c
hw/xfree86/common/xf86VidMode.c
include/xkbsrv.h
render/glyph.c
xkb/xkbActions.c
2007-11-05 19:08:36 -05:00
Daniel Stone
2d738efb95
RandR: Remove usage of alloca
...
Replace with heap allocations.
2007-11-05 14:34:41 +00:00