Commit Graph

2389 Commits

Author SHA1 Message Date
Adam Jackson a8f9936f55 Prefer driver-provided modes when matching name strings to modelines.
Well, kinda.  Strictly we prefer M_T_BUILTIN strongest since those are modes
where the driver has said it absolutely can't do anything else (VBE).  Then
we look for user-defined modes, ie, modelines from the config file.  Then
we consider modes reported by the monitor via EDID.  Finally if nothing has
matched yet we consider the default mode pool.

Within each of the above-mentioned classes, modes with the M_T_PREFERRED bit
take priority over other modes in the same class.

This logic ensures that the timings sent to the monitor exactly match the
timings it reported as supported, which occasionally don't match the numbers
you might get for that mode from CVT or GTF.
2006-09-14 19:24:41 -04:00
Adam Jackson 81ef1b6d60 Mark EDID modes as driver modes. Infer virtual size from driver modes.
This allows the server to guess an appropriate initial virtual size and
resolution.  The heuristic is to select the largest driver-reported mode
that matches the monitor's physical aspect ratio.  We revalidate this
estimate after mode validation, since we may have filtered away all
modes that would fill that size.

Also, the EDID preferred timing is now marked as M_T_PREFERRED as well.
2006-09-14 19:18:58 -04:00
Adam Jackson 43d9edd31e Attempt to add the 'mouse' driver in more situations.
Always add a mouse driver instance configured to send core events, unless
a core pointer already exists using either the mouse or void drivers.  This
handles the laptop case where the config file only specifies, say,
synaptics, which causes the touchpad to work but not the pointing stick.
We don't double-instantiate the mouse driver to avoid the mouse moving twice
as fast, and we skip this logic when the user asked for a void core pointer
since that probably means they want to run with no pointer at all.
2006-09-14 19:09:02 -04:00
Adam Jackson 739224d05e Load the default module set when no Module section is given in the config.
Also, synchronize that list with the list for the pseudoconfig file used
when starting with no config file.  These really need to be better unified.
2006-09-14 19:03:32 -04:00
Adam Jackson beac2bf1e4 Expand the default sync ranges to be large enough for 800x600@60. 2006-09-14 19:01:13 -04:00
Adam Jackson 71a15a7d57 Publish the raw EDID block as a property on the root window.
This was removed in the patch for bug #5386, but is still useful.
2006-09-14 19:00:10 -04:00
Adam Jackson 7939c8dfb7 Bump the default pixel depth to 24, and default bpp to 32. 2006-09-14 18:57:57 -04:00
Adam Jackson 72af975f9c Fix up EDID blocks where the max pixclock exceeds the preferred mode clock.
Base EDID only lets you specify the maximum dotclock in tens of MHz, which
is too fuzzy for some monitors.  1600x1200@60 is just over 160MHz, but if
the monitor really can't handle any mode at 170MHz, then 160 is more
correct.  Fix up the EDID block before the driver can see it in this case,
so we don't spuriously reject modes.
2006-09-14 18:56:34 -04:00
Adam Jackson d05e0a97bb Enable DPMS by default. 2006-09-14 18:49:12 -04:00
Adam Jackson 334f7db9f6 Allow hsync and vsync ranges to be overridden independently again. 2006-09-14 18:46:10 -04:00
Adam Jackson ced46e1777 Record all standard timings from EDID as modes, instead of just the first five. 2006-09-14 18:41:59 -04:00
Adam Jackson d89fee68d0 Record the maximum dot clock of the monitor, and filter by it. 2006-09-14 18:41:15 -04:00
Adam Jackson fa8ef71668 Don't translate monitor gamma to X gamma.
The X gamma is used to set the output ramp of the card.  Setting a 2.2 output
gamma going into a 2.2 monitor gives an effective gamma of 4.84, which is
very much not what you want.
2006-09-14 18:33:00 -04:00
Luc Verhaegen 511c60bc73 Bug #5386: Synthesize modelines from EDID data. 2006-09-14 18:30:36 -04:00
Ian Romanick 05231e336d Use correct opcodes for GLX_EXT_texture_from_pixmap.
Regenerate from glX_API.xml 1.3 from Mesa.  The glproto package and libGL
(from Mesa) must also be updated.
2006-09-14 14:13:39 -07:00
Bill Nottingham 0a62840e2c Bug 7641: fix comment written to Xorg.conf (s/VertSync/VertRefresh/)
X.Org Bugzilla #7641 <https://bugs.freedesktop.org/show_bug.cgi?id=7641>
Patch #6349 <https://bugs.freedesktop.org/attachment.cgi?id=6349>
2006-09-13 15:40:23 -07:00
Drew Parsons 182e5e0f4b Xprint: revert installation of /etc/X11/Xsession.d/cde_xsessiond_xprint.sh
pending resolution of #8232.
2006-09-12 14:30:46 +10:00
Tilman Sauerbeck 594d4019c6 transformIsIdentity() now doesn't accept a zero matrix as the identity.
Added a non-zero test for one of the diagonal values.
2006-09-12 01:15:40 +02:00
Tilman Sauerbeck fc30370d14 Bug #8226: Fixed SetPictureTransform()'s handling of the argument matrix.
It now recognizes scaled variants of the identity matrix, too.
2006-09-11 19:43:09 +02:00
Donnie Berkholz 2b357e9a2f If we're installing libxf86config, install headers needed to build against it. 2006-09-10 22:17:20 -07:00
Jesse Barnes b3a3020fd0 the new PCI mapping routines are broken on sparc64 (in fact they look
broken for any 32 bit X server running on a 64 bit kernel) so #ifdef
them out for now.  the PCI rework tree will make all this crap go away,
so I think we can tolerate the extra #ifdef for the next release.
2006-09-10 11:13:18 -07:00
Drew Parsons 65256109bb * Define XPSERVERLIST with `/etc/init.d/xprint get_xpserverlist`
instead of `/bin/sh /etc/init.d/xprint get_xpserverlist`
	- allows the initscript to set its own different shell under #!
	- allows disabling of XPSERVERLIST by making the script non-executable
* Allow files to be installed by using dist_*_DATA instead of EXTRA_DIST.
  Also, use dist_*_SCRIPTS to install scripts.
* Fix minor typos in man pages.
2006-09-10 17:40:37 +10:00
Kristian Høgsberg 86450998da Fix AIGLX VT switching.
See https://bugs.freedesktop.org/show_bug.cgi?id=7916

There may be a simpler, less intrusive fix that involves just rearranging
DRI locking between 2D and 3D drivers around VT switch.
2006-09-07 15:35:16 -04:00
Ian Romanick 64479fffa2 Remove prototypes and externs for non-existant functions and variables. 2006-09-06 16:13:21 -07:00
Ian Romanick a0179281a6 Remove prototypes for non-existant functions. 2006-09-06 15:45:48 -07:00
Michel Dänzer 8356be492c Make sure _XSERVER64 is defined when it should be and gets tested. 2006-09-06 15:20:55 +02:00
Michel Dänzer f6ce0839ba Fix #include paths for fontcacheproto headers. 2006-09-06 13:18:02 +02:00
Aaron Plattner 410e5b1d73 (unsigned long)(1 << 31) = bad news on x86_64. 2006-09-05 15:23:54 -07:00
Ian Romanick c2813514cf Add missing file from previous commit. 2006-08-31 15:36:13 -07:00
Ian Romanick 0f9cfb2f75 Implement GLX_SGI_swap_control.
Regenerate from glX_API.xml 1.2.  Add infrastructure to support
GLX_SGI_swap_control for AIGLX when the DRI driver enables it.  Tested
with R300.
2006-08-31 13:54:10 -07:00
Ian Romanick a9ef586291 Fix problems with vertex program protocol
There were two sets of bugs in the vertex program (ARB and NV)
protocol.  First, several of the ARB functions were missing the
'doubles_in_order="true"' annotation.  Second, after the ARB decided
that glVertexAttrib*ARB functions must not alias fixed-function state
for GLSL, Nvidia re-assigned GLX protocol opcodes for
glVertexAttrib*NV (circa Septeber 2004).  For some reason gl_API.xml
was never updated to reflect this, and the updated version of the
GL_NV_vertex_program spec never made into the registry.

This is just a server-side regeneration from gl_API.xml version 1.68.
2006-08-31 13:47:50 -07:00
Matthew Allum 69d5becce4 Fix previous commit breaking other kdrives pulling in fbdev.a 2006-08-31 17:30:24 +01:00
Matthew Allum fd609956f2 Add framebuffer device command line switch for Xfbdev 2006-08-31 17:18:57 +01:00
Ian Romanick 2fb7b8795a Minor extension tweaks.
GLX_EXT_texture_from_pixmap should always be enabled.
GLX_SGI_video_sync is only for direct rendering and should never
appear in the server's string.
2006-08-29 16:35:32 -07:00
Ian Romanick 1c8851ad49 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-08-29 16:34:04 -07:00
Ian Romanick d59b52fc08 Make sure unsupported extensions are disabled.
GLX protocol isn't supported for GLX_SGI_swap_control or
GLX_SGI_video_sync.  Remove them from the list of available extensions
until they are supported.
2006-08-29 14:40:13 -07:00
Ian Romanick db6d04d4b8 Add support for AIGLX drivers to enable GLX extensions that they support. 2006-08-29 14:35:08 -07:00
Matthew Allum 5ddbf4bcd4 Re-add support for tslib (1.0 release) and Xcalibrate extension. 2006-08-29 22:07:15 +01:00
Ian Romanick 942b436999 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-08-29 13:30:37 -07:00
Ian Romanick 77d315bd2f Remove __glXNoSuchRenderOpcode because it is no longer used. 2006-08-29 13:30:20 -07:00
Daniel Stone 393dc0a338 kdrive: remove @KDRIVE_LIBS@ from Xfoo_DEPENDENCIES 2006-08-29 22:53:54 +03:00
Daniel Stone cff23616fe configure.ac: allow disabling of XSDL 2006-08-29 22:44:09 +03:00
Adam Jackson ebbdc1342a Remove calls to LoaderCheckUnresolved(), since it's now a stub. 2006-08-28 18:17:32 -04:00
Ian Romanick 2fde560bbb Enable GL_EXT_texture_filter_anisotropic and GL_EXT_blend_equation_separate.
Re-generate from gl_API.xml 1.65.  This provides the missing bits for
GL_EXT_texture_filter_anisotropic and GL_EXT_blend_equation_separate.
Enable those extensions.
2006-08-25 13:01:51 -07:00
Ian Romanick e2d529963e Enable vertex and fragment programs.
Implement glGetProgramStringARB and glGetProgramStringNV.  With these
functions implemented, GL_ARB_{vertex,fragment}_program,
GL_NV_{vertex,fragment}_program, and related extensions can be enabled.
2006-08-25 12:05:16 -07:00
Ian Romanick c33e39c86b Finish support for GL_ARB_texture_compression.
Fill in __glXDisp_GetCompressedTexImageARB and
__glXDispSwap_GetCompressedTexImageARB to finish support for
GL_ARB_texture_compression.  With this extension (and the related
compression extensions), the server-side GLX supports all of the
protocol for GL 1.4.  w00t!

The bad news is that this has received only minimal testing, and Mesa
does not contain any good tests for GL_ARB_texture_compression.
2006-08-24 20:33:57 -07:00
Ian Romanick cd2da4e41e Remove GL/glx/g_disptab.c, GL/glx/g_disptab_EXT.c, and
GL/glx/g_disptab_EXT.h.  Unfortunately GL/glx/g_disptab.h has to be
kept around a bit longer.
2006-08-24 18:00:16 -07:00
Ian Romanick a29e6dd2d2 Add some missing bits of GL_SGI_color_table. 2006-08-24 17:58:52 -07:00
Ian Romanick ae608b2071 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-08-24 14:56:33 -07:00
Ian Romanick 2c865277fe Regenerate from gl_API.xml 1.63. Enable extensions.
gl_API.xml 1.63 corrects some problems with GLX protocol for
GL_EXT_paletted_texture and GL_SGI_color_table.  Regenerate from that
file, and enable those extensions and GL_EXT_shared_texture_palette.
2006-08-24 14:54:49 -07:00