Peter Hutterer
4f2cd0ed96
Merge branch 'master' into mpx
...
This merge reverts Magnus' device coorindate scaling changes. MPX core event
generation is very different, so we can't scale in GetPointerEvents.
Conflicts:
Xi/opendev.c
dix/devices.c
dix/dixfonts.c
dix/getevents.c
dix/resource.c
dix/window.c
hw/xfree86/common/xf86Xinput.c
mi/mipointer.c
xkb/ddxBeep.c
xkb/ddxCtrls.c
xkb/ddxKeyClick.c
xkb/ddxList.c
xkb/ddxLoad.c
xkb/xkb.c
xkb/xkbAccessX.c
xkb/xkbEvents.c
xkb/xkbInit.c
xkb/xkbPrKeyEv.c
xkb/xkbUtils.c
2008-03-04 18:11:10 +10:30
Adam Jackson
708f07753f
RANDR 1.2: Inherit PreferredMode from the global configuration, if any.
...
If you don't do this, then Modes "800x600" in the Display subsection will
be dutifully ignored and the driver will start at whatever resolution it
feels like.
2008-03-03 15:49:48 -05:00
Adam Jackson
3b73d62791
xf86DDCMonitorSet: Honor the DisplaySize from the config file.
...
We honor sync ranges and pixel clock settings from the config here, no
reason to ignore DisplaySize.
2008-03-03 15:43:22 -05:00
Maarten Maathuis
8af2c39bcc
Fix big mistake in commit fd41f46ac6.
...
- When a mode is deleted, the name pointer is also free()'ed.
- This leaves other modes with an invalid pointer.
2008-03-01 16:54:01 +01:00
Adam Jackson
d1c48955f8
Fix CVT abuse in DDCModesFromStandardTiming.
...
CVT is enough different from GTF that it should not be used on monitors
that aren't expecting it. This brings us closer to what the spec says
the correct behaviour is.
2008-02-29 16:01:15 -05:00
Adam Jackson
ca5625b911
Add xf86GTFMode().
...
This should probably be shared like xf86CVTMode().
2008-02-29 16:01:15 -05:00
Adam Jackson
4cb4817c10
Remove the duplicate copy of xf86cvt.c
2008-02-29 16:01:15 -05:00
Adam Jackson
e65e51a99b
Constify the built-in mode tables.
2008-02-29 16:01:14 -05:00
Adam Jackson
6828d8fc2b
Clean up DisplayModeRec handling in many places.
...
Use xf86DuplicateMode() instead of rolling our own, and change
malloc+memset to calloc.
2008-02-29 16:01:14 -05:00
Adam Jackson
fd41f46ac6
Allow xf86DuplicateMode() to work correctly on read-only modes.
...
Before this it was meaningless to try to mark DisplayModeRec tables
const, since the mode name would be emitted as a pointer to an
anonymous string constant, and therefore would have to be fixed up by
ld.so and so couldn't live in .rodata. With this change the standard
mode lists can live in .rodata, and modes duplicated from them will
have their names filled in on the fly.
2008-02-29 16:01:14 -05:00
Adam Jackson
8ac19d16a0
Add several comments documenting our EDID failures.
2008-02-29 16:01:14 -05:00
Tiago Vignatti
aebd9dc252
Oops, there's one more parenthesis.
2008-02-28 01:22:31 -03:00
Dave Airlie
08afc70513
quirks: another LPL panel with the cm/mm wrong
2008-02-28 10:45:41 +10:00
Dave Airlie
d12b7b6632
xf86Crtc: add higher level modesetting entry point.
...
For kernel modesetting work we need a bigger stick to beat the modesetting path
2008-02-27 07:09:14 +10:00
Tiago Vignatti
9727db88d5
No more "-scanpci" given that we already have it in libpciaccess.
...
(Yeah, lets nuke dead code!)
2008-02-25 17:08:07 -03:00
Maarten Maathuis
a48cc88ea2
Fix rotation for multi-monitor situation.
...
- The (x,y)-coordinates of the crtc were not being passed as xFixed values, which made it an obscure bug to find.
- Fix bug #13787 .
2008-02-17 18:47:28 +01:00
liuhong
d3c36fe721
validate mode clock for probed modes
...
Some modes claimed in monitor EDID data may not be supported by
the monitor. So also validating the max clock for probed modes.
2008-02-05 12:45:27 -08:00
liuhong
4b5b6e7baa
fix max clock unit
...
max clock from EDID data is in MHz, while we need KHz to validate modes.
2008-02-05 12:45:16 -08:00
Peter Hutterer
0ac1755977
Merge branch 'master' into mpx
...
Conflicts:
Xext/sampleEVI.c
2008-01-26 13:55:07 +10:30
Hong Liu
734e115871
Bug #12439 : add a quirk to use +hsync +vsync for the probed detailed mode.
...
Samsung 205BW quirk is somehow reworked.
2008-01-23 21:24:09 +08:00
Dave Airlie
1f83f40525
xf86Cursors: fix memset for non-square cursors
2008-01-15 10:21:17 +10:00
Peter Hutterer
38bf01bd1c
Merge branch 'master' into mpx
2008-01-10 13:38:46 +10:30
Alex Deucher
20eb26f9d1
Fix potential crasher in xf86CrtcRotate()
...
xf86CrtcRotate() is called by randr 1.2 drivers via xf86CrtcSetMode() or xf86SetDesiredModes()
during ScreenInit() at which point pScrn->pScreen is not set. If a user specifies a rotation
in their config file pScrn->pScreen is dereferenced and boom.
2008-01-03 22:53:36 -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
Adam Jackson
312b30cb03
EDID 1.4: First detailed mode is always preferred.
...
... so act like it in the modelist generator, not just the parser.
2007-12-28 17:38:51 -05:00
Adam Jackson
a948216dcc
EDID 1.4: Decode CVT 3-byte codes and add them to the mode pool.
...
Section 3.10.3.8: CVT 3 Byte Code Descriptor Definition.
2007-12-28 16:53:16 -05:00
Adam Jackson
938da5ee38
Add HDMI and DisplayPort connector types.
2007-12-28 12:23:44 -05:00
Eamon Walsh
86b2e59bfb
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
configure.ac
This is the last pull before merging to master.
2007-12-14 00:32:24 -05:00
Eamon Walsh
c8feb73f58
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
Xext/EVI.c
Xext/bigreq.c
Xext/cup.c
Xext/dpms.c
Xext/fontcache.c
Xext/mitmisc.c
Xext/xcmisc.c
Xext/xf86bigfont.c
Xext/xtest.c
configure.ac
dbe/dbe.c
hw/darwin/darwin.h
hw/darwin/darwinEvents.c
hw/darwin/iokit/xfIOKit.h
hw/darwin/iokit/xfIOKitCursor.c
hw/darwin/quartz/fullscreen/fullscreen.c
hw/darwin/quartz/fullscreen/quartzCursor.c
hw/darwin/quartz/quartz.c
hw/darwin/quartz/quartzCommon.h
hw/darwin/quartz/quartzCursor.c
hw/darwin/quartz/xpr/dri.c
hw/darwin/quartz/xpr/dristruct.h
hw/darwin/quartz/xpr/xprCursor.c
hw/darwin/quartz/xpr/xprFrame.c
hw/xfree86/modes/xf86RandR12.c
include/cursor.h
miext/rootless/rootlessCommon.h
miext/rootless/rootlessScreen.c
miext/rootless/rootlessWindow.c
render/picturestr.h
Trying to pick up the pieces from the darwin churn here...
2007-12-13 18:38:25 -05:00
Adam Jackson
efcdc0d701
Correct the documentation comments in xf86Modes.c
...
Most of those functions do not, in fact, work with circular mode lists,
and by this point the API isn't really "proposed" anymore.
2007-12-13 15:38:41 -05:00
Adam Jackson
1768af38c7
Add infrastructure for validating modes by memory bandwidth.
2007-12-13 15:06:18 -05:00
Adam Jackson
4359193aaa
Explain a confusing #ifdef.
2007-12-13 10:59:48 -05:00
Hong Liu
c6cfcd408d
Bug 13308: Verify and reject obviously broken modes.
2007-12-05 17:48:28 +01:00
Dave Airlie
678f786715
xf86crtc: oh mon could be NULL, so check before quirks
2007-12-04 12:24:47 +11:00
Dave Airlie
a9df4bb555
xf86Crtc: pass correct parameter.
...
quite how this has worked I've no idea.
2007-12-04 12:17:29 +11:00
Dave Airlie
f30abe30c5
edid quirk for MAX 0x77e monitor
...
From RH bugzilla 306441
2007-11-30 13:53:21 +10:00
Dave Airlie
89c3dfe41e
modes: use xf86RandR12Index to stop illegal access
...
xf86RandR12Index set to -1, and if initialised it gets 0 or higher.
This allows the server to start with xinerama turned on with only one head
2007-11-29 19:57:24 +11:00
Dave Airlie
725710fd0b
randr: make randr code not segfault when xinerama set
2007-11-29 19:40:53 +11:00
Adam Jackson
23b8ca8a37
RANDR 1.2: Only enable unknown outputs if there are no connected outputs.
...
Otherwise you end up with a confusing initial geometry, and xscreensaver
and friends get very angry.
2007-11-27 13:20:40 -05:00
Matthias Hopf
c6c284e64b
Initialize Mode with 0 in xf86RandRModeConvert.
...
Asking for trouble if non-initialized values contain random data.
2007-11-26 15:39:42 +01:00
Matthias Hopf
f6401f944d
Don't segfault if referring to a relative output where no modes survived.
2007-11-23 16:14:48 +01:00
Matthias Hopf
fa19e84714
Fix initial placement of LeftOf and Above.
2007-11-23 16:14:48 +01:00
Matthias Hopf
184e571957
Adjust offsets of modes that do not fit virtual screen size.
...
Fixes memory corruption if a too small "Virtual" was specified in xorg.conf
for the selected multi-monitor configuration.
2007-11-23 16:14:48 +01: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
Michel Dänzer
ea9c63e93b
DEFAULT_DPI was undefined here.
2007-11-19 15:53:49 +01:00
Tormod Volden
ee2d4626dc
Bug #12932 : Use DEFAULT_DPI in randr1.2 instead of hardcoded 96.
2007-11-18 11:56:31 -05: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
733d42065f
XFree86: Remove usage of alloca
...
Replace with heap allocations.
2007-11-05 14:34:42 +00:00
Matthias Hopf
4d0f35c81d
Always duplicate mode name when duplicating a mode.
...
If the originating mode didn't have a name, we would end up with the name of
the original mode being setup correctly, but with the name of the copy still
being NULL.
2007-11-02 19:27:32 +01:00
Matthias Hopf
27b13eeb56
Nuke superfluous ",", added missing include for xf86i2c.h.
2007-10-26 13:15:07 +02:00
Eamon Walsh
b633d54b94
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
GL/glx/glxscreens.c
hw/xnest/Screen.c
render/glyph.c
render/glyphstr.h
render/render.c
2007-10-25 12:19:30 -04:00
Matthias Hopf
48ca5961ca
Prefer configured DisplaySize to probed DDC data, if available.
...
Based on patch by Hong Liu <hong.liu@intel.com>.
2007-10-24 20:31:51 +02:00
Keith Packard
29e0e18072
Leave hardware-specified preferred modes alone when user preference exists.
...
Instead of removing the preference bit marking the hardware declared mode
preference, leave it in place and just move the user preferred mode to the
front of the list while marking it with the USERPREF bit which will cause it
to be selected by the initial mode selection code.
2007-10-22 13:38:16 -07:00
Eric Anholt
ab4bce02a9
Add a quirk for Philips 107P5 which lacks the preferred bit on detailed timing.
...
Also fix the prefer-large-75 quirk if the prefer-first-detailed bit was set,
though it's not the case for the existing prefer-large-75 consumer.
2007-10-18 15:22:42 -07:00
Eamon Walsh
c3f7b86255
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
os/access.c
2007-10-17 15:00:54 -04:00
Keith Packard
feac075952
Make config file preferred mode override monitor preferred mode.
...
Add a new even-more-preferred bit to each mode which is used to make config
file preferences selected instead of the monitor preferred mode.
2007-10-17 11:42:28 +08:00
Eric Anholt
fc092334ac
Bug #10304,12784,11603: Add quirks for several physical size issues.
...
A lot of EDID writers apparently end up stuffing centimeters (like the
maximum image size field) into the detailed timings, instead of millimeters.
Some of them only get it wrong in one direction. Also, add a quirk to let
us mark the largest 75hz mode as preferred, which will often be used for
EDID 1.0 CRTs.
2007-10-11 16:55:44 -07:00
Matthias Hopf
45cc03726b
Make mode checking more tolerant like in pre-RandR times.
2007-10-11 18:59:39 +02:00
Eamon Walsh
27612748e0
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
dix/devices.c
2007-09-26 07:47:29 -04:00
Alex Deucher
e1860f241b
Document xf86_crtc_clip_video_helper better.
2007-09-22 17:54:51 -04:00
Alex Deucher
19d30c1c77
Revert "Fix possible crash if Xv window is outside of either crtc"
...
This reverts commit 9235531410 .
This changes ABI. False means there was a memory failure of some kind,
not that the video shouldn't be displayed
2007-09-22 17:51:27 -04:00
Michel Dänzer
9235531410
Fix possible crash if Xv window is outside of either crtc
2007-09-22 14:25:02 -04:00
Eamon Walsh
47ab4d648b
devPrivates rework: convert CursorRec and CursorBits over to new interface.
2007-08-30 11:40:39 -04:00
Eamon Walsh
4017d31902
devPrivates rework: since API is already broken, switch everything
...
over to new system.
Need to update documentation and address some remaining vestiges of
old system such as CursorRec structure, fb "offman" structure, and
FontRec privates.
2007-08-28 09:28:25 -04:00
Dave Airlie
76bf3cd7b8
randr: fixup crtc and output destroy
...
if you are moving pointers, you want to move the pointers not just a byte
2007-08-23 16:22:03 +10:00
Alex Deucher
81f8b652d9
Add _X_EXPORT to exported functions in hw/xfree86/modes/*
...
Also add missing exports to hw/xfree86/loader/xf86sym.c
2007-08-22 19:26:34 -04:00
Keith Packard
265a633cf1
Screen size changing should leave FB alone when X is inactive.
...
xf86RandR12ScreenSetSize must protect calls to EnableDisableFBAccess with
suitable vtSema checks to avoid invoking driver code while the X server is
inactive.
2007-08-20 23:24:22 -07:00
Keith Packard
7dc8531548
Ref count cursors used in hw/xfree86/modes code.
...
The multi-crtc cursor code in hw/xfree86/modes holds a reference to the
current cursor. This reference must be correctly ref counted so the cursor
is not freed out from underneath this code.
2007-08-20 23:24:12 -07:00
Alex Deucher
53c04351c4
move intel crtc xv clipping helper to the xserver
...
The code is generic and can be used by any overlay-based card when
adding randr 1.2 support. Tested on radeon.
2007-08-20 19:47:55 -04:00
Peter Hutterer
f367285fd5
Merge branch 'master' into mpx
...
Conflicts:
Xi/exevents.c
dix/devices.c
dix/getevents.c
include/dix.h
mi/mieq.c
2007-08-12 15:31:10 +09:30
Eric Anholt
ff4bd3addb
Fix the swapped decode of the EDID DTD h/v sync polarity fields.
...
As a result, we can remove the quirks that existed to flip the bits back around
for us. This is not confirmed in all cases due to lack of bugs containing EDID
blocks associated with the quirks, but is likely true.
2007-08-08 14:39:27 -07:00
Gustavo Pichorim Boiko
2926cf1da7
[PATCH] Allocate the right number of entries for saving crtcs
2007-08-08 12:31:11 -07:00
Dave Airlie
722d73a0ef
Revert "Fix RandR 1.2 conversion of two colour to ARGB cursor on MSB first platforms."
...
This reverts commit 0f057ebb27 .
This screws my cursor up just starting a bare X server on Intel,
I get the X more like <> than ><..
2007-07-31 10:34:56 +10:00
Aaron Plattner
cec793ef7a
Include picturestr.h in xf86Crtc.h to pick up definition of PictTransform.
2007-07-26 11:49:46 -07:00
Michel Dänzer
0f057ebb27
Fix RandR 1.2 conversion of two colour to ARGB cursor on MSB first platforms.
...
Doesn't seem necessary to do anything here...
2007-07-25 17:04:04 +02:00
Gustavo Pichorim Boiko
5b424b562e
Set the crtc before the output change is notified
...
Set the new randr crtc of the output before the output change notification is
delivered to the clients.
Remove RROutputSetCrtc as it is not really necessary. All we have to do is set
the output's crtc on RRCrtcNotify
2007-07-23 14:47:45 -07:00
Keith Packard
dc9c519628
Make PreferredMode option in config file override EDID mode preferences.
...
When the PreferredMode option is selected in the config file, remove the
M_T_PREFERRED bit from all other preferred modes to force the config file
mode to be selected.
2007-07-19 13:31:07 -07:00
Keith Packard
73a93c5a6b
Query modes on disabled (but not ignored) outputs.
...
Code that disabled mode detection on disabled outputs would confuse
applications by listing said outputs as connected but without any modes.
This makes the disabled state in the config file affect only the initial
configuration and not subsequent modifications by RandR.
2007-07-19 13:31:00 -07:00
Keith Packard
9fc36a391c
Make pending property changes trigger mode setting.
...
The DDX code was ignoring pending properties for computing when mode setting
was required. This meant that configurations differing only in property
values would not cause the mode to be set.
2007-07-19 13:30:51 -07:00
Keith Packard
ac979c1651
MakeAtom needs length without trailing NUL. sizeof("string") includes NUL.
...
I made a mistake in some new code using MakeAtom, passing the size of the
string instead of the length of the string. Figuring there might be other
such mistakes, I reviewed the server code and found four bugs of the same
form.
2007-07-14 12:13:17 -07:00
Keith Packard
393171034c
Add RandR reflection support.
...
Replace the ad-hoc transformation mechanisms with matrices.
Prepares for more general transformation as well.
2007-07-14 09:03:47 -07:00
Adam Jackson
e316fa59fe
Add per-monitor config file option for maximum pixel clock.
2007-07-10 14:20:55 -04:00
Gero Mudersbach
00e8295b7e
Bug #10814 : Add needed quirk for Samsung 225BW like the 226BW.
2007-07-02 11:40:11 -07:00
Eric Anholt
667e95f2e8
Correct the xf86EdidModes.c file description.
2007-07-02 11:36:11 -07:00
Adam Jackson
4d76075dbb
Death to RCS tags.
2007-06-29 14:06:52 -04:00
Keith Packard
d2177c8091
Skip driver mode detection/configuration when !vtSema.
...
When the server is not active, make sure the driver functions related to
mode setting are not called.
2007-06-22 02:12:58 +01:00
Peter Hutterer
1f97a76476
Merge branch 'master' into mpx
...
Conflicts:
dix/devices.c
hw/xfree86/common/xf86Xinput.c
hw/xfree86/loader/xf86sym.c
mi/mieq.c
2007-06-19 17:20:52 +09:30
Daniel Ciocea
c079cce9d8
Fix sync polarity on Samsung SyncMaster 205BW monitor.
...
need to use standard VESA sync polarity instead of the
EDID provided -hsync -vsync values.
2007-06-08 18:12:21 -07:00
Alan Hourihane
fa877d7ff2
Fix mode validation against the maximum X/Y values configured
...
at server startup, and not against the virtual X/Y parameters
as they can change.
This fixes an issue when canGrow is TRUE and modes get dropped
when using the virtual X/Y parameters.
2007-05-30 13:06:45 +01:00
Keith Packard
076d070e18
Use Screen block handler for rotation to draw under DRI lock.
...
DRI uses a non-screen block/wakeup handler which will be executed after the
screen block handler finishes. To ensure that the rotation block handler is
executed under the DRI lock, dynamically wrap the screen block handler for
rotation.
2007-05-17 20:24:18 -07:00
Keith Packard
915563eba5
Disable all outputs and crtcs at startup.
...
Leaving devices enabled during server startup can cause problems during the
initial mode setting in the server, especially when they are used for
different purposes by the X server than by the BIOS. Disabling all of them
before any mode setting is attempted provides a stable base upon which the
remaining mode setting operations can be built.
2007-05-17 20:22:43 -07:00
Peter Hutterer
f28eea0647
Merge branch 'master' into mpx
...
Conflicts:
dix/devices.c
dix/events.c
2007-04-27 16:34:36 +09:30
Aaron Plattner
3ba1e8ab6d
Include xf86Rename.h in xf86RandR12.h.
2007-04-24 17:20:14 -07:00
Aaron Plattner
38d14e8589
Adjust the screen pixmap's dimensions in xf86RandR12ScreenSetSize.
2007-04-22 18:04:27 -07:00
Aaron Plattner
39bc8bb0fd
Don't call xf86RandR12TellChanged if it doesn't exist. Add some exports to xf86Rename.h.
2007-04-20 14:23:38 -07:00
Keith Packard
96ef0f7843
Disable SourceValidate in rotation to capture cursor.
...
SourceValidate is used exclusively by the software cursor code to pull the
cursor off of the screen before using the screen as a source operand. This
eliminates the software cursor from the frame buffer while painting the
rotated image though. Disabling this function by temporarily setting the
screen function pointer to NULL causes the cursor image to be captured.
(cherry picked from commit 05e1c45ade9c558820685bfd2541617a2e8de816)
2007-04-19 17:49:55 -07:00
Keith Packard
7ca4baffb5
Was accidentally disabling rotation updates in mode set.
...
Setting a mode on an unrotated CRTC was causing all of the rotation updates
to be disabled; the loop looking for active rotation wasn't actually looking
at each crtc, it was looking at the modified crtc many times.
(cherry picked from commit 8b217dee3a6c46b13fc9571a4a9a95bc55686cdb)
2007-04-19 17:49:48 -07:00
Keith Packard
806a537e64
Revert "Suppress software cursor removal during rotated shadow buffer drawing."
...
This reverts commit 999b681cf3 .
Replacing this with simpler code that just disables SourceValidate
during rotation redisplay.
2007-04-19 17:49:34 -07:00
Eric Anholt
999b681cf3
Suppress software cursor removal during rotated shadow buffer drawing.
2007-04-18 14:33:27 -07:00