Commit graph

216 commits

Author SHA1 Message Date
Jose Fonseca
95dba10bc0 Slighty more optimized DMA emulation C code. Support for waiting for
checking empty FIFO - but disabled for now.
2002-04-21 14:32:28 +00:00
Leif Delgass
31a6440465 Implement streamlined vertex buffer by setting up multiple sequential
register writes.
Register addresses in command/vertex buffer now specified by memory-mapped
    address, which is needed for real DMA.
Fix multi-reg write increment in pseudo-DMA flush (byte address needs +4
    incr.).
Restore DMAGETPTR grouping of state register writes.
2002-04-21 06:25:08 +00:00
Jose Fonseca
b21b585cf0 Forgot to increment the register number in the pseudo DMA algorithm 2002-04-20 22:04:42 +00:00
Jose Fonseca
e5b7dc8c19 Fixed another discrepancy in mach64_drm.h (this one harmless because is
wasn't being used). Use of the DMAGETPTR / DMAADVANCE for which
    conditional as they aren't executed in block. Update of
    mach64_print_dirty.
2002-04-20 21:42:00 +00:00
Leif Delgass
bd00770298 Add agp texture region info to DRM. Also, use DMA* macros for DRM
emit_state functions. This ensures a wait_for_fifo for the MMIO writes.
2002-04-20 20:11:08 +00:00
Jose Fonseca
f080c751f3 Fix a discrepancy in the definition of the upload flags. This still doesn't
fix the problem that since the last update UT and some example aren't
    showing textures anymore, but other programs do...
2002-04-20 12:28:20 +00:00
Jose Fonseca
d04ebd5463 Added the state hardware programming functions to here 2002-04-20 12:03:19 +00:00
Leif Delgass
7aea29f4bc Preliminary changes required for AGP textures. AGP texture area is now
mapped in the DDX driver and Mesa client. DRI and Mesa screen
    structures updated to add agp texture region data. The AGP card heap is
    not setup in the Mesa driver screen init yet, so about all this does
    right now is print AGP mode info in the renderer string and the texture
    region should show up in the X log and /proc/dri
2002-04-20 07:38:16 +00:00
Jose Fonseca
c7df8b994c Fixed the DMA emulation code thanks to Keith 2002-04-20 00:20:49 +00:00
Jose Fonseca
c0622174af Code restructuring to be more similar to the existing drivers.
Implementation of several functions to support the handling of DMA
    buffers. The DMA emulation code is disabled because it segfaults when
    trying to read the DMA buffer.
2002-04-19 07:12:32 +00:00
Jose Fonseca
b7ff3cdd0f Removal of erroneous PCI GART code. Better support for PCI cards. More
robustness in the DRM DMA initialization code.
2002-04-15 00:51:14 +00:00
Jose Fonseca
572ee321d9 Error checking when mapping as is done in other drivers 2002-04-12 13:02:26 +00:00
Leif Delgass
0873cfb116 Make sure we wait for enough FIFO entries (needed to add 2 to account for
scissors being added in a couple places).
2002-04-09 22:27:42 +00:00
Jose Fonseca
fe04858d8c Prevent from reading from AGP related registers to avoid lockup in PCI
cards.
2002-04-05 01:02:22 +00:00
Jose Fonseca
db8109dd4a Removed the AGP requirement in the DRM.
Fixed the mach64_state.c description header.
2002-03-23 03:28:08 +00:00
Leif Delgass
43fb03f135 Fixes for viewport calculation, scissors, and cliprects. Added drawX,drawY
to the context struct to hold origin of drawable in draw buffer. The
    viewport is adjusted using these fields.
Enabled scissor test, drm now uses scissor values from the sarea context.
    Also enabled color masking, drm uses mask from sarea context
    (untested).
The viewport calcs seem to be working, but cliprects still have problems
    for single buffer contexts and overlapping GL windows. Needs more
    testing and debugging. I'm committing now so we can continue with
    testing.
2002-03-05 02:03:31 +00:00
Jose Fonseca
9448f35c3b Initial merge with the trunk (XFree 4.2.x, Mesa 4.x) 2002-02-26 22:02:37 +00:00
David Dawes
ab87c5d0d1 First pass of mesa-4-0 branch merge into trunk. 2002-02-14 02:00:26 +00:00
Michel Daenzer
65d25572de wrapper for ioremap_nocache() like for ioremap() (Paul Mundt) 2002-02-02 17:03:51 +00:00
David Dawes
44aa4d6297 First pass merge of XFree86 4.2.0 import. 2002-01-27 20:05:42 +00:00
David Dawes
14945ada16 Import of XFree86 4.2.0 2002-01-27 18:23:04 +00:00
David Dawes
16bd14926e Initial revision 2002-01-27 18:23:04 +00:00
Alan Hourihane
f18a6d836b merge with linux kernel 2.4.15 2001-12-10 23:29:37 +00:00
Keith Whitwell
727abee235 Put back i810 major version number (same reasons as for r128) 2001-11-27 11:43:12 +00:00
Keith Whitwell
13e11e1f94 Put drm version back from 3.0 to 2.2; XFree86 4.1 is the baseline for
versioning information.
2001-11-26 13:28:38 +00:00
Alan Hourihane
05fb3e93f2 wrap the MODULE_LICENSE definition. 2001-11-02 17:40:11 +00:00
Alan Hourihane
92ad1b60e1 merge kernel 2.4.13-pre6. 2001-10-22 19:15:04 +00:00
Alan Hourihane
bdd84e8958 commit Abraham vd Merwe fix. 2001-10-08 12:58:20 +00:00
Alan Hourihane
ca820fca87 merge with 2.4.10 kernel 2001-09-25 09:32:16 +00:00
Alan Hourihane
390440c939 remove Linux 2.3.x cruft. 2001-09-18 11:00:23 +00:00
Alan Hourihane
b1c44c8ac1 bumped the DRM versions (already done in ddx and client side drivers). 2001-09-17 21:12:10 +00:00
Alan Hourihane
2fabe80827 Use CCE for 2D acceleration (Gerd Knorr) 2001-09-17 10:30:17 +00:00
David Dawes
2f060f44e0 Import of XFree86 4.1.99.1 2001-08-22 18:00:47 +00:00
Alan Hourihane
f4c2f14002 No one's maintaining 2.2.x support - so remove all the cruft. 2001-08-19 15:20:08 +00:00
Jeff Hartmann
8aaf82d45c A few warning fixes when actually building under 2.4.9-pre2 + some
reformating
2001-08-14 00:35:07 +00:00
Jeff Hartmann
aa09e36114 Sync with Linus 2.4.9-pre2 + make all nopage routines more alike 2001-08-13 23:23:47 +00:00
Alan Hourihane
2d4b2cf6f6 new multihead code was missing Voodoo3 2000 and Voodoo4 support. 2001-08-11 15:48:00 +00:00
Jeff Hartmann
97b8aa52bb Commit Keith Owens kernel Makefile changes, merge and commit alpha patch
set from Jay Estabrook (sans some mga modifications which broke other
    arch's.)
2001-08-10 16:29:21 +00:00
Jeff Hartmann
b6923b3953 Update to the code I sent Linus and Alan this morning. Added some missing
agp chipsets to drm_agpsupport.h, redid the card detection common code
    to use a structure (avoids endian porting issues), changed the tdfx
    driver to use the kernel pci id '#defines'
2001-08-08 16:10:47 +00:00
Jeff Hartmann
938a637d1f Avoid compiler warning about r_list being used uninitialized. 2001-08-07 18:22:41 +00:00
Jeff Hartmann
51e38d96ea Lots of DRM fixes: added new pieces of template code so the ffb driver can
be ported, rolled back r128 and i810 version bumps so 4.1.0 works with
    cvs kernel modules, added Config.in and updated Makefile.kernel,
    incorporated lots of drm fixes inspired by patches sent by Redhat, made
    DRM(realloc) usage check for NULL allocations, restructure driver init
    routines to export dev_priv only when initialized and to check for all
    error conditions.
2001-08-07 18:15:10 +00:00
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
Jeff Hartmann
84a5e71087 Fixes that allow the modules to be built into the kernel 2001-07-23 20:25:38 +00:00
Jeff Hartmann
5e8ba79eb6 Merge checker fixes from Alan Cox made to the drm in the ac kernel tree.
These aren't really security problems, but Alan has made some arguments
    that have convinced me that the code should be fixed anyway.
2001-07-20 22:16:04 +00:00
Jeff Hartmann
ae5b4effc0 Remove module name hacks because we aren't going to implement this anymore
because of Linus' comments
2001-07-20 20:31:30 +00:00
Jeff Hartmann
4eafeec960 Add module version name at a lower layer of the code, allows things to be
more flexible and allow older module versions to still work. Might not
    be final code if we move over to DRI kernel module version, but will be
    if we use XFree86 version. + Only build tdfx.o instead of tdfx-4_1_0.o
    since tdfx.o has never changed its API.
2001-07-18 21:02:58 +00:00
Jeff Hartmann
c6454e6a93 Someone forgot to bump the r128 and i810 drivers properly before the 4.1.0
release. Better late than never.
2001-07-17 22:31:26 +00:00
Jeff Hartmann
d5749d7603 Added version string to the end of the kernel module name. This allows
multiple versions of the kernel module to co-exist on one machine.
2001-07-16 22:42:36 +00:00
Jeff Hartmann
b816802daf i810 drm security fix 2001-07-16 16:57:12 +00:00
Gareth Hughes
7ccc528911 Fix typo in XFREE86_VERSION(). 2001-07-13 01:42:48 +00:00