summaryrefslogtreecommitdiff
path: root/randr
AgeCommit message (Collapse)Author
2009-07-26randr: fix operation order so that rotation+transform worksBenjamin Defnet
The matrix multiply to combine rotation and projective transforms was being done in the wrong order. Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit b2bf67b61c564a4b92a429ca9ad455403161f33a) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-07-26randr: fix server crash in RRGetScreenInfoJulien Cristau
We don't return rates to randr < 1.1 clients, so don't allocate space for them. This fixes a FatalError due to not all allocated space being used. X.Org bug#21861 <http://bugs.freedesktop.org/show_bug.cgi?id=21861> Reported-by: Guillaume Quintin <coincoin169g@gmail.com> Signed-off-by: Julien Cristau <jcristau@debian.org> (cherry picked from commit 12e725d08b4cf7dbb7f09b9ec09fa1b621156ea9) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-06-29Make RANDR 'set' timestamps follow client specified time. Bug 21987.Keith Packard
The lastSetTime value which indicates when the configuration within the server was last changed was not getting set in the appropriate RandR requests. Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 69a9545d1f8110841538410818df19fd960412c5) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-06-29dix/randr: Add missing fields to SRR*NotifyEvent()Federico Mena Quintero
Also, remove redundant field swaps and make others match the order in which they are declared in the xRR*NotifyEvent structs. Signed-off-by: Federico Mena Quintero <federico@novell.com> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit e244a5991e2cc55f5aa2f6e5255f1dabf56f0235) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-04-08Correct access mode in call to dixLookupWindow() within RRSelectInput.Eamon Walsh
Reported by Alan Coopersmith. (cherry picked from commit 6544490700051b3b5e88ac1890d71b35634c9100)
2009-02-25RandR rotations and reflections offset by one pixelKeith Packard
The matrix computation for rotation and reflection resulted in dropping a row or column of pixels as the offsets used in the matrix computations used width and height rather than width-1 and height-1. Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 77c7a64e8885696665556c9fbcb3cffb552e367a)
2009-02-17RANDR: Fail softly on GetPanning if the screen can't do it.Adam Jackson
Just return a zeroed-out reply in that case. This is unambiguous, and distinguishes "you didn't name a CRTC" from "you named a CRTC that can't do panning". (cherry picked from commit 123093996507c4d3b6dc457240ce00f8ac42f410) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-02-17Merge branch 'panning-for-server-1.6' into server-1.6-branchKeith Packard
2009-02-17Handle matrix computation overflow in RRTransformComputeKeith Packard
If the computation of the composite fixed-point transform for RandR overflows at any point, take the resulting floating point transform and scale that back to fit in a fixed point matrix. This ensures that a matrix will always be available, although perhaps at reduced precision. Someday we should add floating point matrices to Render. Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 62fc98cb88e4e8b636f343453fc1168a87c58972) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-02-13Query the DDX in ProcRRGetScreenInfo.Aaron Plattner
This is the RandR 1.1 version of GetScreenResources and needs to re-query the DDX to see if the mode pool changed. Fixes Launchpad bug #325115. Signed-off-by: Adam Jackson <ajax@redhat.com>
2009-01-30randr: Avoid re-querying the configuration on everything but GetScreenResources.Eric Anholt
The new path should only re-query on the other requests when we haven't gathered the information from the DDX yet (such as with a non-RandR 1.2 DDX). Bug #19037. (cherry picked from commit 317f2b4a9fe4b606975711bc332166a82db5087d)
2009-01-30RandR crtcs not fetched correctly when primary output is set.Keith Packard
Primary outputs may not have a CRTC. Loops fetching CRTCs respecting primary output were broken. Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 4de5705545792d77c9990bbec3e263a517757a2a)
2009-01-30RandR SetOutputPrimary should work with or without a crtc connectedKeith Packard
The test was inverted from the protocol spec, and besides, the test is bogus anyways. Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit c1f2be1f3fd0c80cb4c85b98140b98aa9311242b)
2009-01-30Make RandR CRTC info report panning area instead of just crtc areaKeith Packard
This makes the RandR info consistent with the Xinerama info. Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 6e49fdd2c839b6244c23ce95c3ae76a1a265b986)
2009-01-30randr: Consider panned crtc's when calculating xinerama screen sizes.Maarten Maathuis
- This will allow window managers and applications to actually use the panned area. (cherry picked from commit 332d65ec7a6e94d75efe95d53742f137835274de)
2008-12-16randr: clear primaryOutput when the output is deletedAdam Jackson
(cherry picked from commit 86c64ddf21763972aa7fc8c5770259123c9907b3)
2008-12-16randr: use primary output for RRFirstOutput()Adam Jackson
(cherry picked from commit fe65f400ed16cb39db8c9518b9446f590c34db1a)
2008-12-16randr: Mangle GetScreenResources sort order based on primary outputAdam Jackson
(cherry picked from commit cdcb516e561e2f65eb2fa523ca001c57674d5caf)
2008-12-16randr: Mangle compat Xinerama reply based on primary outputAdam Jackson
(cherry picked from commit d7b316e82bc7051f8829b4f4a640f50ae91c2db9)
2008-12-16randr: Add [GS]etOutputPrimaryAdam Jackson
(cherry picked from commit 9d58d2a319059989ccdfa758f586149ccdc16df6)
2008-12-12randr: Oops, miscalculated panning rectangle's coordinatesMatthias Hopf
2008-12-09randr: Update SProcRandrVector for panningMatthias Hopf
(cherry picked from commit 44bef8b850c5a78a3d3eca5f0d92b71bdd0a87e2) Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-09randr: Nuke config-timestamp for panningMatthias Hopf
(cherry picked from commit 825b2c2f4a59ac4852f90bbbddf18ab832297fdd) Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-09randr: Protocol bits for panning supportMatthias Hopf
(cherry picked from commit eeeb98d1df59baaaec954b6318d788a37e388d11) Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-09randr: add swapped dispatch for RR[GS]etCrtcTransformJulien Cristau
Fix a memory leak in ProcRRGetCrtcTransform() while I'm at it. Signed-off-by: Julien Cristau <jcristau@debian.org> Cc: Keith Packard <keithp@keithp.com> (cherry picked from commit 0b5ecabfb803cd820338fb0364521fe39b05578b) Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-02randr: Don't send output property events on server exitAdam Jackson
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 b0d371ab0a6efd4956c3677faa20b2ac15c33765) Signed-off-by: Keith Packard <keithp@keithp.com>
2008-11-26Add server support for RRGetScreenResourcesCurrentKeith Packard
This depends on randrproto 1.2.99.1 Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit fc708394318ed92c612e2938b335c08c1ffebb28)
2008-11-25Move matrix operations from X server to pixman 0.13.2Keith Packard
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-24[randr] don't try to compute crtc transform when no mode is set.Keith Packard
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-24Update RandR global transform when driver notifies of transform change.Keith Packard
Need to compute and save the global transform when the driver changes it.
2008-11-24Export rrtransform.h as needed by randrstr.hKeith Packard
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-24rrtransform needs randrstr to get RANDR_INTERFACE definesKeith Packard
2008-11-24Create rrtransform.[ch]. Add RRTransform argument to RRCrtcNotify.Keith Packard
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-24Allow drivers to set crtc transforms.Keith Packard
Track curent transform down in the mode setting code so that it may be set separately from RandR.
2008-11-24Handle RandR transform matrices in floating point.Keith Packard
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-24Eliminate inverse matrix from randr transform protocolKeith Packard
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-24Report whether transforms are support from driver through extension to clientKeith Packard
Add APIs to xf86RandR12 support and randr extension to record whether the driver supports transforms, report that value in the RRGetCrtcTransform reply.
2008-11-24Compute matrix inversion instead of using wire version in RRCrtcTransformSetKeith Packard
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-24Pass filter kernel size through transformsKeith Packard
2008-11-24Use transform when computing scanout size of modesKeith Packard
Report transformed crtc sizes through RandR and Xinerama. Test screen size against transformed mode sizes when configuring the Crtc.
2008-11-24[RANDR] Support filters in CRTC transforms.Keith Packard
Create new RRTransform datatype to hold all of the transform related information, use that in lots of places to pass filters around.
2008-11-24Wire up RandR CRTC transform protocol, bump server to RandR 1.3Keith Packard
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-24Add projective transforms to RandR DIX/DDX API.Keith Packard
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-08Remove some null statements.James Cloos
Remove several doubled statement-terminal semicolons. Reported by Fernando Carrijo.
2008-10-16RANDR: Fix output property event delivery.Pierre Willenbrock
2008-10-06RANDR: Delivery output property events.Keith Packard
2008-10-03const cleanupAdam Jackson
2008-09-21Fix panoramiX request and reply swappingPeter Harris
Fix panoramiX request and reply swapping Set window and screen values in panoramix replies Prevent buffer overrun in ProcPanoramiXGetScreenSize
2008-09-10Drop a reference to user mode after createKeith Packard
User mode has no customer when create until assigned to some output.
2008-09-08Revert "randr: fix user mode create initial reference count"Zhenyu Wang
This reverts commit 7c5ca85a9e6d49ab572831b3e0c08bb4cafb395e.