drm/linux
David Dawes 56bd9c2077 Merge the multihead-1-0-0 branch into the trunk, with the exception of the
glide header files.
The changes include:
- Brian Paul's changes to the tdfx client-side 3D driver to make it
    dlopen() the correct glide library (Voodoo3 or Voodoo5). This allows
    both types of the glide library to co-exist, and allows Voodoo3/Voodoo5
    cards to be mixed in multi-head configs.
- DRM kernel driver changes to allow a driver to set up multiple instances
    (minor numbers), one for each card present that the driver supports.
    This is currently implemented and tested only for the tdfx DRM driver.
- Add some missing missing <stdarg.h> includes.
- Some log message cleanups.
- Change the 2D tdfx driver to access VGA legacy registers via their PCI
    I/O space access points rather than their legacy addresses, and fix
    some problems with the way the VGA-related bits are initialised.
Status:
- With these changes, multi-head direct rendering works with multiple
    Voodoo3 and/or Voodoo5 cards. This has been tested with two PCI Voodoo3
    cards and an AGP Voodoo5 card, and all permutations of those.
Caveats:
- Xinerama is not supported. If Xinerama is enabled, then direct rendering
    gets disabled.
- The text mode on secondary screens will show junk after the X server
    exits.
- On some hardware, starting the X server on multiple 3dfx cards will
    result in a hard lockup. One workaround is to enable APIC support in a
    uni-processor kernel, or use an SMP kernel.
2001-07-30 19:59:39 +00:00
..
Makefile.kernel Merge mga-1-0-0-branch into trunk. 2001-02-15 08:12:14 +00:00
Makefile.linux Remove module name hacks because we aren't going to implement this anymore 2001-07-20 20:31:30 +00:00
README.drm More changes for sync with Linux 2.4.0-test9-pre7 2000-09-29 02:05:41 +00:00
agpsupport-pre24.h Sync with Linux 2.4.0-test11-pre5 Provide backward compatibility tested 2000-11-15 15:47:51 +00:00
ati_pcigart.h Merged ati-pcigart-1-0-0 2001-04-05 22:16:12 +00:00
compat-pre24.h Add Linux 2.2.x support for stubs 2001-02-21 16:06:10 +00:00
drm.h Add module version name at a lower layer of the code, allows things to be 2001-07-18 21:02:58 +00:00
drmP.h - PCIGART patches for Alpha from Compaq 2001-04-30 15:07:18 +00:00
drm_agpsupport.h Import of XFree86 4.0.99.3 2001-05-01 17:07:59 +00:00
drm_auth.h Merge mga-1-0-0-branch into trunk. 2001-02-15 08:12:14 +00:00
drm_bufs.h Merge checker fixes from Alan Cox made to the drm in the ac kernel tree. 2001-07-20 22:16:04 +00:00
drm_context.h Merged sarea-1-0-0 2001-03-14 22:22:50 +00:00
drm_dma.h Enable shared IRQs in DMA template, use in i810 driver. 2001-06-18 12:59:42 +00:00
drm_drawable.h Merge mga-1-0-0-branch into trunk. 2001-02-15 08:12:14 +00:00
drm_drv.h Merge the multihead-1-0-0 branch into the trunk, with the exception of the 2001-07-30 19:59:39 +00:00
drm_fops.h Import of XFree86 4.0.99.3 2001-05-01 17:07:59 +00:00
drm_init.h Merge the multihead-1-0-0 branch into the trunk, with the exception of the 2001-07-30 19:59:39 +00:00
drm_ioctl.h Merge checker fixes from Alan Cox made to the drm in the ac kernel tree. 2001-07-20 22:16:04 +00:00
drm_lists.h - Clean up the way customization of the templates is done. 2001-02-16 05:24:06 +00:00
drm_lock.h Merge mga-1-0-0-branch into trunk. 2001-02-15 08:12:14 +00:00
drm_memory.h Import of XFree86 4.0.99.3 2001-05-01 17:07:59 +00:00
drm_proc.h Merged sarea-1-0-0 2001-03-14 22:22:50 +00:00
drm_scatter.h Merged ati-pcigart-1-0-0 2001-04-05 22:16:12 +00:00
drm_stub.h Merge the multihead-1-0-0 branch into the trunk, with the exception of the 2001-07-30 19:59:39 +00:00
drm_vm.h Fixes that allow the modules to be built into the kernel 2001-07-23 20:25:38 +00:00
gamma.h Merged sarea-1-0-0 2001-03-14 22:22:50 +00:00
gamma_dma.c Make SiS driver compile with the new templated format. Not tested. minor 2001-05-03 14:51:01 +00:00
gamma_drv.c Fixes that allow the modules to be built into the kernel 2001-07-23 20:25:38 +00:00
gamma_drv.h Merged sarea-1-0-0 2001-03-14 22:22:50 +00:00
i810.h Enable shared IRQs in DMA template, use in i810 driver. 2001-06-18 12:59:42 +00:00
i810_dma.c i810 drm security fix 2001-07-16 16:57:12 +00:00
i810_drm.h First pass of 4.1.0 merge. 2001-06-14 22:23:44 +00:00
i810_drv.c Fixes that allow the modules to be built into the kernel 2001-07-23 20:25:38 +00:00
i810_drv.h Merged sarea-1-0-0 2001-03-14 22:22:50 +00:00
mga.h - Clean up the way customization of the templates is done. 2001-02-16 05:24:06 +00:00
mga_dma.c - Fix MGA header info. 2001-03-21 13:10:27 +00:00
mga_drm.h Merged ati-pcigart-1-0-0 2001-04-05 22:16:12 +00:00
mga_drv.c Fixes that allow the modules to be built into the kernel 2001-07-23 20:25:38 +00:00
mga_drv.h - Fix MGA header info. 2001-03-21 13:10:27 +00:00
mga_state.c Fix 5 security bugs found by the Stanford tools 2001-06-18 19:25:15 +00:00
mga_ucode.h Merge mga-1-0-0-branch into trunk. 2001-02-15 08:12:14 +00:00
mga_warp.c Merge mga-1-0-0-branch into trunk. 2001-02-15 08:12:14 +00:00
picker.c merge with 4.0.1d 2000-11-08 00:07:17 +00:00
r128.h Import of XFree86 4.0.99.3 2001-05-01 17:07:59 +00:00
r128_cce.c First pass of 4.1.0 merge. 2001-06-14 22:23:44 +00:00
r128_drm.h First pass of 4.1.0 merge. 2001-06-14 22:23:44 +00:00
r128_drv.c Fixes that allow the modules to be built into the kernel 2001-07-23 20:25:38 +00:00
r128_drv.h - Fix typo 2001-04-06 17:53:32 +00:00
r128_state.c Merged ati-pcigart-1-0-0 2001-04-05 22:16:12 +00:00
radeon.h Import of XFree86 4.0.99.3 2001-05-01 17:07:59 +00:00
radeon_bufs.c Import of XFree86 4.0.99.1 2001-03-19 17:45:52 +00:00
radeon_cp.c First pass of 4.1.0 merge. 2001-06-14 22:23:44 +00:00
radeon_drm.h Merged ati-pcigart-1-0-0 2001-04-05 22:16:12 +00:00
radeon_drv.c Fixes that allow the modules to be built into the kernel 2001-07-23 20:25:38 +00:00
radeon_drv.h - PCIGART patches for Alpha from Compaq 2001-04-30 15:07:18 +00:00
radeon_state.c Merged ati-pcigart-1-0-0 2001-04-05 22:16:12 +00:00
sis.h Import of XFree86 4.1.0 2001-06-14 21:53:06 +00:00
sis_drm.h First pass of 4.1.0 merge. 2001-06-14 22:23:44 +00:00
sis_drv.c Add module version name at a lower layer of the code, allows things to be 2001-07-18 21:02:58 +00:00
sis_drv.h Make SiS driver compile with the new templated format. Not tested. minor 2001-05-03 14:51:01 +00:00
sis_ds.c Make the SiS module work again. At least glxinfo reports it's working, yet 2001-05-17 15:20:40 +00:00
sis_ds.h Make the SiS module work again. At least glxinfo reports it's working, yet 2001-05-17 15:20:40 +00:00
sis_mm.c Make the SiS module work again. At least glxinfo reports it's working, yet 2001-05-17 15:20:40 +00:00
stubsupport-pre24.h Add Linux 2.2.x support for stubs 2001-02-21 16:06:10 +00:00
tdfx.h - Clean up the way customization of the templates is done. 2001-02-16 05:24:06 +00:00
tdfx_drv.c Merge the multihead-1-0-0 branch into the trunk, with the exception of the 2001-07-30 19:59:39 +00:00

README.drm

************************************************************
* For the very latest on DRI development, please see:      *
*     http://dri.sourceforge.net/                          *
************************************************************

The Direct Rendering Manager (drm) is a device-independent kernel-level
device driver that provides support for the XFree86 Direct Rendering
Infrastructure (DRI).

The DRM supports the Direct Rendering Infrastructure (DRI) in four major
ways:

    1. The DRM provides synchronized access to the graphics hardware via
       the use of an optimized two-tiered lock.

    2. The DRM enforces the DRI security policy for access to the graphics
       hardware by only allowing authenticated X11 clients access to
       restricted regions of memory.

    3. The DRM provides a generic DMA engine, complete with multiple
       queues and the ability to detect the need for an OpenGL context
       switch.

    4. The DRM is extensible via the use of small device-specific modules
       that rely extensively on the API exported by the DRM module.


Documentation on the DRI is available from:
    http://precisioninsight.com/piinsights.html

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://precisioninsight.com/dr/drm.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://precisioninsight.com/dr/locking.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://precisioninsight.com/dr/security.html

************************************************************
* For the very latest on DRI development, please see:      *
*     http://dri.sourceforge.net/                          *
************************************************************