ati driver, cascading between VESA and FBDEV. We only have init
functions done so far; need to add all of the others. Fixed some
compiler warnings. Whitespace and formatting cleanups (using 4 spaces,
no tabs)
Get rid of all references to SCO.
Change SDK include dir to $(includedir)/xizzle. Add SDK libs where
necessary.
Reformat to be nicer and easier to shuffle around; also, fix lib ordering
so we get so much closer to the elusive final link. Shuffle
common/xf86Init.c into libxizzle.a.
Fix a couple of early snafus - s/BUILDXI/XINPUT/, et al; make the SDK stuff
conditional as needed; fix the SBus includes.
Name library os-support/libxizzleos.a, not os-support/foo/libxizzlefoo.a.
Clean up ARCH_SOURCES so it's always initialised to something.
Move linked libraries to _LIBADD, which somehow escaped my attention. Make
inclusion of drm/libxizzlelinuxdrm.a dependent on DRI.
s/VERSION/VBE_VERSION/;
Axe this redundant dir.
All Xizzle-specific: axe hw/xizzle/Xi, shuffle link order, fix list of
required modules to be vaguely sane, add some pertinent libs/incs.
anyone uses this in production, a big scary monster will eat them. hrm,
perhaps i should make it have a --i-know-what-i'm-doing param that it
doens't start without, heh
- Reserve areas for back/depth/span when USING_DRI && GLXEXT. This would be
better in a TransitionTo3d, but we'd need to work with the offscreen
memory manager for that.
- Misc. fixes to ati_dri.c for DRI+GLX. Needs more work still.
pixmap into temporary offscreen storage. Subsequent UploadToScratch may
clobber the data of previous ones. This allows hardware acceleration of
composite operations on glyphs.
- Add a new UploadToScreen kaa hook for doing the actual moving of data to
framebuffer. This would allow us to do things like hostdata blits or
memcpy to agp and then blit.
- Add an UploadToScreen on ATI which is just memcpy, but which will be
replaced with a hostdata blit soon.
- Add UploadToScratch on ATI and reserve 64k of scratch space. This
provided a 3x speedup of rgb24text on my Radeon.
emitting as a tri fan rather than a tri list. A rect list would save an
additional vertex (out of 4) per rectangle, but there's no measurable
speed difference and the tri fan may be useful when transforms come
into play.
accel. I don't 100% trust that the math works for Saturate, but I can't
tell from existing information.
- Fix texture pitch fallback checks.
- Fallback when src or mask have transforms.
- Disable Radeon Composite accel until the offset thing is fixed.
- Set offscreenPitch to 64 on Radeon thanks to new information and a kaa
fix. Fixes acceleration at width!=1024.
functions. Along with making things more readable, it fixes a problem
where the coordinates would get messed up if acceleration failed due to
things like pixmaps being in the wrong locations.
pixmaps are offscreen and don't have alpha maps. It is the last case
checked before going to software fallback
- Use the new Composite hook in the ati driver to implement acceleration of
most Composites that get done in an xcompmgr environment on r100 series
cards. It is only available when using the DRM. There are still some
corruption issues, but the DRI is still non-default and I need to get
this into version control.
- Add libdrm and libdri. Portions of the DRI extension are stubbed out.
- Use the DRM in the ATI driver when available. This provides a minor
performance improvement in x11perf, and opens the possibility of using
the 3d hardware for acceleration in the future.
- Implement solid fill acceleration for Composite in KAA.
- Implement Blend hook for Composite and use it on r128.
- Fix a bug of mine that resulted in overuse of offscreen memory.
- Fix many miscellaneous bugs in ATI driver and add PCI IDs.
the ATI driver. It suffers from hw/sw synchronization problems, it
looks like, but may be good enough to work on Render acceleration
experiments. Committing it as-is so I don't lose it again.
Check window reorigin in PositionWindow and bump pixmap serial numbers to
revalidate GCs.
Fix picture clip region origin in automatic update
Initialize client private 'critical' value
Clean up pixmap bounds checking code to only affect contents allocated by
fb.
Oops. Call SourceValidate for Composite operations.
Add Xchips server (vesa based)
available, with fbdev being used by default.
- Use depth 16 by default when vesa backend is used.
- Add MMIO defines for PowerPC (should be in a common location).
Many thanks for Michel Daenzer for much of this code.
- Remove usleeps from idle and waitavail code, recommended by keithp.
- Add a workaround for apparent broken acceleration with Rage 128 and
offset alignment with 8-bit acceleration (24-hack and plain 8-bit).
- Minor cleanup of setup code.
- Disable acceleration with 24bpp due to apparent broken acceleration.
Accel at 24bpp was the cause of the crashes when people tried to use
any depth over 16. XFree86 doesn't support 24 either.
- Disable at < 8bpp, too.
- Add the other Rage 128 PCI IDs.
- Remove unnecessary setting of scissor registers (only default scissor
gets used).
help with ati, and future DRM drivers.
- Add new "ati" kdrive driver. It has ancestry in the r128 driver from
andersca, but took a detour through being the WIP SiS 300 driver on the
way. It supports Radeons (tested on QD VIVO and 7500) and Rage 128.
Current limitations include that it requires depth 16 and that the
other Rage 128 PCI IDs aren't included yet.
change, just cleaning up a bit)
Reset the screen->memory_base value when frame buffer is remapped. This
makes sure new off-screen allocations point at the newly mapped region
rather than the old (now unmapped) region.
Sufficient, but not always necessary.
Add borderClip to damage on creation so that clients needn't guess.
Fix API to FbDots functions to make PolyPoint work with screen_x/screen_y
offsets
Add debugging code to make sure no pictures are left pointing at freed
pixmaps. "Can't" happen, but it did once.
Change KdOffscreenArea structure to eliminate separate private structure,
eliminate the ScreenPtr, change from doubly linked to singly linked
list.
Don't damage BackgroundNone windows on PW_BACKGROUND. Re-clip damage to
borderClip in DamageSubtract.
have redirected subwindows in manual mode. Those clients are marked
Critical and given a significant scheduling boost whenever they receive
a damage notify event. This dramatically improves update frequency.
If the kernel reported a large number of keys, readKernelMapping would walk
off the end of the kdKeysym array.
Fix usage of _IOWR; the 'size' argument is actually a datatype.
drawable pixmap rather than directly into the frame buffer. Rewrite
logic in kdoffscreen to make space for new allocations, now deals
correctly with locked areas.
the server seems to act as before. With RedirectSubwindows (root,
automatic), the server looks just like a regular X server. Now to go
rewrite the (currently lame) compositing manager to get some real
action on the screen.
Some of the fixes here are to make valgrind quiet with various ioctls used
by kdrive/linux.
Also fixed a bug where fbdev initialization was out of order in fbdev.c and
smi.c
unwrapping pixmap operations. This makes sure the accelerated code gets
invoked for pixmaps
Add pixmap migration support to kaa. Can't quite automatically migrate
pixmaps off-screen, but soon we will. Can kick objects out of video
memory. Move per-screen linked list pointers to pixmap private. Wrap
Composite in preparation for migrating pixmaps. Have kasync ignore
drawable type so that pixmaps trigger sync Add KdOffscreenFini to
cleanup on server reset. Switch off screen area to have only a 'save'
function; moving objects to off screen memory is done by saving then
freeing the area.
hw/kdrive/src/kdrive.h Add -switchCmd option to set command that is
executed whenever the VT is enabled or disabled. This permits input
device to be customized by external apps when switching to X.
Mach64 framebuffer (Marc La France).
135. Make ATI Mach64 FIFO cache integrity testing optional (Marc La
France).
134. Export ATI Mach64 hardware overlay as an XVideo adaptor (derived from
GATOS project, Egbert Eich, Marc La France).
133. Reorganise ATI Mach64 support into separate source files (Marc La
France).
132. Refine atimisc's decoding of the panel mode on server entry in an
attempt to reduce the effect of atyfb bugs (Marc La France).
131. Make Rage128 and Radeon XVideo available even when 2D acceleration is
disabled (Marc La France).
130. There is no longer any need to require hardware cursors during Rage128
and Radeon XVideo displays (Marc La France).
129. Initialise v4l's XVideo adaptors last (Marc La France).
128. Reduce cut&paste effects by adding more helpers to Xv (derived from
#5645, Björn Augustsson, Marc La France).
127. Centralise a region comparison primitive into 'mi' and use it instead
of local definitions throughout the server (Marc La France).
126. DPMSExtension & XvExtension driver cleanups (Marc La France).