instead of reporting "unrecognized option" when the argument is
missing. Also give correct error instead of "unrecognized option" for
options only available to root.
so resulted in a solid black glyph if the font rendering actually
resulted in a fallback (subpixel AA, for example) and the temporary got
migrated after 10 or so glyphs.
compatible with glibc, so the backtrace support check fails. Work
around this by wrapping the code in a configure check for execinfo.h,
and emulate detection for the monolith. (Yuri Vasilevski)
- Merge various fb/ bits of COMPOSITE support from xserver, which weren't
necessary before due to cw hiding the issues. Fixes offset calculations
for a number of operations, and may pull some fixes that cairo has
wanted for XAA as well.
- Add a new call, miDisableCompositeWrapper(), which a DDX can call to keep
cw from getting initialized from the damage code. While it would be
cleaner to have each DDX initialize it if it needs it, we don't have
control over all of them (e.g. nvidia).
- Use the miDisableCompositeWrapper() to keep cw from getting set up for
screens using EXA, because EXA is already aware of composite. Avoiding
cw improved performance 0-35% on operations tested by ajax in x11perf.
particularly thanks to Prepare/FinishAccess) to avoid DFS/memcpy on
pixmap move-out if it's unnecessary. This was disabled in KAA because
cache misuse on ATI made me guess that this code was wrong.
- Unwrap Glyphs on closescreen.
hw/xfree86/utils/ioport/Makefile.am
Add ioport and pcitweak utils from monolith hw/xfree86/etc dir.
Generate xf86DefModeSet.c from vesamodes & extramodes
Add apSolaris.shar to EXTRA_DIST
ChangeLog
include xorg-config.h for modular build
Adjust XF86CONFIG defines for modular build
Fixes for modular build:
- include modular server config headers
- change default XCONFIGFILE to xorg.conf
- define XKB_RULES_DIR if not defined by Imake
than the max, it was bumped, and then if you were above the threshhold
you got moved in. Instead, do the above-threshhold check separate from
score starting out less than max. While this will likely make thrashing
cases worse, I hope it will fix some issues with long term performance
(think of an xcompmgr with a backbuffer it's doing only accelerated
operations to. If some new pixmap comes in and bumps it out, even once,
it will never get a chance to re-migrate because its score will be
maxed). Change migration-out to be the same way for symmetry, though it
shouldn't ever affect anything.
- Fix a lot of debugging output, both in terms of printing quality, and
completeness. The fallback debugging covers a lot more now, pointing
out new areas for improvement. Debugging toggles are now centralized in
exaPriv.h.
example of this is the root weave, which paints slightly slower on SiS
now in my testing. However, according to keithp some apps use this
feature for a sort of cheap backing store, which this could help with
significantly. While I haven't done much performance testing with it,
it will at least rule out one possible source of terrible performance.
chown/chmod later. Also disable by default on platforms that don't need
setuid root X servers (Darwin & SPARC's, according to
InstallXserverSetUID settings in the old Imake config files).
hook so we can upload a subset of a pixmap, and convert the current
drivers to respect that. Use this support to directly UploadToScreen in
exaGlyphs, providing a 47.4% +/-2.4% decrease in wall time for ls -lR
programs/Xserver in an antialiased gnome-terminal on an M6 (n=3, caches
hot). I would have bumped major version, only I can't tell what the
EXA_VERSION_* is supposed to be doing as opposed to the module version.
RADEONHostDataBlit.
- Disable the shortcut for switching from 3d to 3d in radeon_exa.c. It
appears that we do need the cache flush here, thought it's not clear
why. Disable the 2d to 2d shortcut while here, since I'm unsure of what
we're doing. Exposed by the following bit:
- Bug #4485: Add a new routine, exaGlyphs, to handle font drawing. Glyphs
were being accumulated in from non-migratable scratch pixmaps, causing
the destination pixmap to move towards screen but the migration
necessary for source never to happen, leading to abysmal performance.
Instead, copy the scratch glyph data into a real pixmap first, then
composite from that into the destination, allowing for migration. time
ls -lR from programs/Xserver showed 26.9% (+/- 6.3%) decrease in wall
time (n=3).
- Create exaDrawableUse* wrapping exaPixmapUse*, but which are aware of
windows needing backing store. Makes migration code prettier, and
ensures that composited windows will be migrated as normal when we turn
off cw for EXA. (issue brought up by keithp)
module for FreeBSD by setting some missing defines (XFree86Module,
IN_MODULE) in the dri directory. Note that those missing defines should
be somewhere generic, since there are other consumers of them, but I
haven't figured out where.
Define NO_SYS_HEADERS, as the monolithic build does. Helps FreeBSD.
Don't include validate.c in the library, since it seems to be a userland
test program.
around CPU access to the framebuffer. This allows the hardware to set
up swappers to deal with endianness, or to tell EXA to move the pixmap
out to framebuffer if insufficient swappers are available (note: must
not fail on front buffer!).
Submitted by: benh
LEDs match text console mode state. Move push of streams module earlier
so it's loaded before we start using kbd ioctls provided by the streams
module.
overridden at make install time.
Remove driverdir and inputdir from pkg-config file. The directory layout of
moduledir is fixed and well known by drivers.
loops, doesn't deal with failure, doesn't present the interface to
drivers that I expected) and instead replace it with a simple fallback
to software when coordinate limits could be violated. Act similarly in
other acceleration cases as well.
The solution I want to see (and intend to do soon) is to (when necessary)
create temporary pictures/pixmaps pointing towards the real ones' bits,
with the offsets adjusted, then render from/to those using adjusted
coordinates.
Now, if either source or dest were in framebuffer, try to get both
there, but prefer system memory for both otherwise. Required making
exaasync.c go through the try-acceleration path. This significantly
improves window resizing under composite, because previously the
pattern of creating a new pixmap and copying default contents from the
screen caused a fallback every time due to the new destination pixmap
being in system memory.
simplify/clarify it for driver writers who probably don't want to know
what pPixmap->devPrivate.ptr or pPixmap->devKind mean. Converts the sis
driver to use them, and bumps the EXA module minor version.
programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c
programs/Xserver/hw/xfree86/os-support/linux/Imakefile Add basic ACPI Linux
support so that events can be passed to the driver. (Alan Hourihane)
detection/configuration, DDX options. Make building of Xorg DDX fully
optional. Clarify and correct some help texts. Change all comments to
use dnl instead of #. Quote all tests correctly, and guard
pure-variable tests with 'x' (e.g. test $DMX = yes -> test "x$DMX" =
xyes). Since the DDXes seem to have pretty divergent extension support
these days, get rid of EXTENSION_LIBS, DMX_EXTENSIONS and
XPRINT_EXTENSIONS, and go back to building extension lists by hand in
the DDX-specific sections. Use portable POSIX constructs everywhere
(e.g. test foo && test bar, instead of test foo -a bar).
Clean up old cruft.
Set _XSERVER64 on 64-bit architectures, and use x86_64 for host_cpu instead
of amd64 (Jürg Billeter).
Link this module with libXext.la.
Mon Aug 15 14:56:57 2005 Søren Sandmann <sandmann@redhat.com>
Remove the xkb* files.
Add xkbVT.o and friends as the last things on the link line so they will
override the symbols in libxkb.a. Add a comment on how this situation
might not be considered ideal.
Remove the xkb* files.
Add xkbVT.o and friends as the last things on the link line so they will
override the symbols in libxkb.a. Add a comment on how this situation
might not be considered ideal.
Bugzilla #1068 <https://bugs.freedesktop.org/show_bug.cgi?id=1068> Port
Solaris keyboard code to work with kbd driver.
Also incorporated "audio bell" feature from Xsun keyboard DDX to play bell
tones via /dev/audio (specified via Option "BellDevice" "/dev/audio" in
keyboard device options).
.cvsignore files
Use XORG_CFLAGS. Ensure that all exa files are in SOURCES
remove _XOPEN_SOURCE as it's always in xtrans.pc these days and gcc whines
libdamage.la needs libcw.la when COMPOSITE is defined, but that
libdamage.la must be after libcomposite.la, so add libcw.la to
DAMAGE_LIB instead of EXTENSION_LIBS. Regularize library link order
across all X servers
Olli Helenius)
- Fix some distcheck problems for non-solaris systems
- Change server version number from the Xorg rev to an independent one
- _POSIX_SOURCE and _XOPEN_SOURCE defined to the right values
Fix the dri and drm build. Fix server-side DMX extension build. Make
xf4bpp use the correct version of mfbline.c for mfbseg.c. Add #ifndef
_HEADERNAME_H_/#define _HEADERNAME_H_/.../#endif to the headers.
- Add build system for xserver/xorg/hw/xfree86/dri
- Add glcore.h to symlink.sh
- Symlink.sh: add some more DRI files, symlink glcore.h from
extras/Mesa/include/GL/internal to proto/GL
- proto/GL/Makefile.am: install glcore.h
- xf86-video-ark: s/module-dir/xorg-module-dir/
- Use x86emu on Solaris instead of vm86
- Better per-OS control over which xf86Kbd*.c and *Pci.c files to build
- Set various #defines to be defined or not on Solaris as needed
<https://bugs.freedesktop.org/attachment.cgi?id=3058>
08-Jul-2005 nv driver updates from Mark Vojkovich:
Change some console restore code for NV11. Hopefully, we can more reliably
restore the console for desktop systems using DVI. This may correct a
recent regression on NV11.
Also, new PCI IDs.
Add new nVidia PCI ids to match nv_driver.c changes.
Add prototype for XkbSetExtension()
Add #include <ctype.h> for isspace() & isdigit()
Add #include <grp.h> (for initgroups()) and remove extra *
Add prototype for xorgGetVersion()
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
source files in the xserver/xorg tree, predicated on defines of
HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
<X11/fonts/foo.h>.
Changed the semantics of the Convolution filter a bit. It now doesn't try
to normalize the filter values but leaves this to the client. This
gives more reasonable behaviour in the limit where the filter
parameters sum up to 0.
recognize them. I'm not sure if this file is supposed to be maintained
still, but I'd like to close FreeBSD ports/32121 which has been around
for far too long.
- support for mouse-like devices that report absolute coordinates
- support for mouse-like devices that need to know screen size so they can
scale absolute coordinates to screen size
- fix 3-button emulation
DRIINFO version to match. Fix various pointer printfs in libdri to be
64-bit aware. Silence a warning about redefining noXFree86DRIExtension.
(Jesse Barnes)
number of the DRIInfoRec, disambiguating it from the XF86DRI protocol
version number. Modify DRIQueryVersion to return the libdri version
number, which all DDXes were requesting implicitly. Fix the DDXes to
check for the DRIINFO version they were compiled against.
standard mode solely determined by the mode ID or it may be a detailed
mode with almost arbitrary mode parameters. The mode parameters are
passed to the BIOS in a memory area pointed to by es:di. If bit 11 in
the video mode is set this memory area is evaluated. When we don't have
such an area (passed to VBESetVBEMode() this function should unset this
bit for sanity reasons. (Bugzilla #3329)
number of preallocated slots. We should really make this dynamic - but
I don't think this ever caused a problem so it's more or less academic.
A. Avoid that *SyncStart starts before *BlankStart. If *BlankStart >
*SyncStart it is made = *SyncStart and its width is made maximal but such
that the blank does not exceed *Total. Since the Sync width has the
same restrictions as the Blank width monitors should still be able to
clamp after the sync pulse. B. Over time mode validation has become
inconsistent when people started to add additional features to the mode
validation. One such feature is that the mode->Crtc* values have been
(ab)used to allow the driver ValidMode() function to pass driver
normalized timing values back to the validation function. The
introduction of these features made the code less readable and created
numerous possibly unintended side effects in the validation semantics.
I've attempted to consolidate these changes making the code more
consistent and eliminating a number of side effects. This should not
cause problems for the majority of drivers, still it should receive
testing - especially with ATi Mach64 and Radeon code. (Bugzilla #3325).
change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
change "foo.h", "extensions/foo.h" and "X11/foo.h" to
<X11/extensions/foo.h> for extension headers, e.g. Xv.h;
change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.
(https://bugs.freedesktop.org/attachment.cgi?id=2434) Fix Solaris build
bustage caused by namespace collision between symbols defined in
<sys/kbd.h> and those in "xf86_OSlib.h". Patch by Alan Coopersmith
<alan.coopersmith@sun.com>.
Linux-only fixes: Fix case where a smaller write-combining region
blocks write-combining setting of the whole frame buffer. Fix bug in wc
setting code when regions are first splitted and setting of
write-combining then fails.
DriverFunc() also returns FALSE when the specific sub function isn't
supported. In the case of xf86RandRGetInfo() we simply rely on what has
been set before and return TRUE. In the case of xf86RandRSetConfig() we
only bail with FALSE if we have to do a rotation and the call fails. We
presently cannot do rotation on the fly without the help of a driver
function (Bugzilla #2745).
(https://bugs.freedesktop.org/attachment.cgi?id=2019): Fix
|xf86SignalHandler()| which resets the signal handler before setting
the flag indicating a signal has been caught, theoretically allowing
the possibility of infinite recursion. Patch by Andrew Church
<xzilla@achurch.org>.
xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c
//bugs.freedesktop.org/show_bug.cgi?id=825) attachment #956
(https://bugs.freedesktop.org/attachment.cgi?id=956): Fix build
problems on Linux/SPARC. Patch by Jeremy Huddleston
<eradicator@gentoo.org>. Approved in the 2005-01-31 Xorg
release-wranglers phone call.
permissions when no access to HW registers is required. For API changes
which mostly involve the modifications to make the RRFunc (introduced
with 6.8) more flexible please check Bugzilla #2407. NOTE: This patch
applies changes to OS specific files for other OSes which I cannot
test.
virtually impossible to determine if the old code did what it was
supposed to do. Also changed paradigm: Trust the based address more
than the (guessed) size. (Bugzilla #2383)
problems on may systems which don't support APM standby and might not
be required as according to the APM specs the chips should receive
enough power to retain its state.
- Print out power state change requests to log file in all verbosity
levels.
- Don't change server state if no driver PM function is registered.
(Bugzilla #2279)
relied on the generic VGA layer to restore text console fonts for us
when shutting down the server or VT switching back to the text console.
This has worked rather well but it has some downsides on Linux: a. Many
people use fbdev as console text mode. In this case it is not necessary
to save/restore console fonts as the console is running in graphics
mode anyway. b. Some architectures don't have a fbdev console but
require a full POST of even the primary card (ie. IA64). This posting
has to take place before we even have a chance to save anything.
Therefore the fonts we save are the once written to the chip by POST,
not what has been programmed by the user. c. Certain chipsets utilize
the BIOS to perform mode setting. This may interfer with the vga
save/restore font function in a strange way. It would therefore be
preferrable to let the OS - which has been used to set up the font in
the first place - take care of saving/restoring the data. I will attach
a patch which will do so for Linux. To make this fully functional a
small patch needs to be applied to the Linux kernel. To disable this
feature add: #define DoOSFontRestore NO to your host.def. (Bugzilla
#2277)
(https://bugs.freedesktop.org/attachment.cgi?id=1530): Fix the current
implementation to make it possible to slow down the mouse pointer or
use arbitrary fractions (without running into rounding error issues).
The change is using the same method of preserving rounding errors that
the exponential method is already using. Patch by Jan Brunner
<Jan_B@gmx.ch>.
needed when building this file
- bug fix: pointerMsg -> keyboardMsg in auto-configuration code.
- make the 'kbd' driver the default for autoconfiguration everywhere.
compiled in or not.
Removed stale make variable.
Updated xaaWrapper.c: Under certain circumstances the accel path was not
used when possible. Removed some debugging stuff and stale code that
had been commented out.
Check if maps are really installed before attempting to list them.
Avoid PIO access on IA64. Some IA64 machine check if legacy ports outside
the VGA range are accessed. The ATi driver however does this to probe
for ISA Mach8/32/64. Since no IA64 has ISA slots this restriction
should not be relevant to the user.
Avoid recursive calls of xf86scanpci(). This function normally detects that
it has been called before by checking if the PCI structure is filled
out. So far if this was not the case (because PCI probing has failed
for some reason) the function is traversed again. With the chipset
specific PCI bus probing this can lead to an endless recursive loop as
the post-probing code calls xf86scanpci() from within this function.
The OS specific PCI code for Linux worked only if bus 0 was populated as it
checked for the presence of /proc/bus/pci/00. Fixed to check for
/proc/bus/pci/<bus_to_look_for> instead.
Remove old obsolete include/extensions/damage.h.
Include srvrv_ctrl(xfree86) in macintosh US XKB symbol file so VT switching
works again on mac (#1872).
Remove out of place #define's of printf to xf86printf. This definition
should only be in xfree86/os-support/xf86_libc.h
update references to xf86site.def in comments (Bug #1827).
fix kbd driver for wskbd protocol and pure wscons console driver (Bug
#1825).
don't add '-4' to generated default file name (bug #1826).
typo in resource name (XFree86 bug #1300, X.org bug #1825)
Updating to EDID 1.3. (Bugzilla# 1490, Jay Cotton, Egbert Eich).
Removing unneeded code.
Fixed KGA handling for i810. KGA handling for chips derived from C&T chips
is slightly different. The changes make the code consistent with the
C&T (chips) and i740 drivers.
XScreenSaverSetAttributes() followed by XScreenSaverUnsetAttributes().
Caused by missing FreeResource() in XScreenSaverUnsetAttributes().
Removing unused DDC sections that caused misinterpretation of DDC data due
to a missing break statement in a switch.
Fixed typo: #if <-> #ifdef.
lists themselves. To use with the Sun compilers, add to host.def: #
define UseCCMakeDepend YES # define DependFlags -cc $(CC) -d -xM (Sun
bug id #4245688 - fix by Alan Coopersmith)
Add Solaris to the platforms on which mprotect is run to set execute
permissions when necessary. (Sun bug id #6175128 - fix by Alan
Coopersmith)
Internationalize digital output (Sun bug id #4119396 - fix by Steve
Swales), add -bgpixmap option to set XPM file as background (originally
from STSF project version of xclock by Alan Coopersmith)
xc/programs/xmodmap/handle.c,pf.c xmodmap was printing line numbers which
are one too low in error messages (Xorg bugzilla #1739, Sun bug id
4637857 - fix by Sam Lau)
Added support for IBM space saver keyboard (Stefan Dirsch). Added support
for Cherry CyMotion Master XPress (Marcus Schaefer).
Change order of SetDisplayDevice(), HWRestore(), UnbindGART() and
RestoreBIOSMemSize() to be exactly opposite to the Save procedure in
EnterVT() (Matthias Hopf, Alan Hourihane).
Fix text mode restauration by removing the assumption that the register
which determines which head is programmed is set. to the active head by
the BIOS (Mark Vojkovich).
When I wrote the resource code 5 years ago I made some assumptions which
turned out to be false: I've assumed that the bus number of the PCI
hostbridge would be the PCI bus the bridge links to. This is not
correct. Fixing this assumption is not easy. However I hope that the
attached patch will make the system work regardless as it 'ignores'
host bridges from which the target bus is not known. This should not
matter at all as we really don't care about host bridges (unless we
have bridge specific code which retrieves information about the
bridge).
Fixed server crash on reset when a structure allocated in PreInit() was
freed on CloseScreen().
Fixed ring buffer lock ups that happened because the structure that
contained ringbuffer data was not zeroed after allocation.
Fixed numerous warnings due to signed unsigned comparisons.
programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
(NVBacklightEnable): Changed the order in which the sequencer registers
and the backlight control registers are written. The sequencer control
register need to be written first otherwise DPMS screen blanking
produces vertical bars on a mobile device. lib/Xau/Imakefile: Build
libXau static library PIC so it can be linked into toolkits that would
like to wrap its functionality.
version called the driver directly and too late.
Unblank secondary screen explicitely. Don't rely on the value read during
register save as the BIOS have blanked the secondary head.
Checking if server isn't switched away before calling sync. Sanity check
for possible bugs in aother areas of the code.
Fixing default amount of of allocated video memory from AGP for i810: Use
16MB if less than 192MB are installed else use 24MB (Matthias Hopf).
xc/programs/Xserver/hw/xfree86/drivers/i2c/fi1236.c Make sure formatting
style is consistent within a single function. MT2032 functions are best
be in separate file anyway.
code is practically untouched since xatitv (which was a standalone test
program). However, it all worked and was debugged over long period of
time, so I prefer to to mess with these for now.
New drivers: fi12xx (including MT2032 - this would be be split off later).
tdaXXX msp34xx bt8xx
#defines/-D options.
programs/Xserver/hw/xfree86/common/xf86DPMS.c Use defaultDPMSEnabled global
for the default state of DPMS if not set in any config files.
programs/Xserver/hw/xfree86/os-support/sunos/solaris-sparcv8plus.S Add
support for required assembly inline functions for Sun compilers on
Solaris/sparc.
Add support for Solaris/sparc libraries.