Commit graph

7 commits

Author SHA1 Message Date
Leif Delgass
49a9928507 Code clean up, added RING macros, initial try at emitting descriptors to
the ring as they are sent by the client (enabled with
    MACH64_NO_BATCH_DISPATCH). For the "no batch dispatch" path:
- The DMA end of list flag is moved in the COMMIT_RING macro.
- The flush function only starts a new pass if the card has gone idle and
    there are descriptors on the ring still unprocessed. This could be
    better optimized to flush only when there is a large enough queue on
    the card, but we'll always need to flush if we run out of freeable
    buffers.
- This path is working up to a point, but lockups still occur. There is a
    small performance improvement.
2002-06-01 21:56:27 +00:00
Leif Delgass
296a76507f fix typo in DRIVER_UNINSTALL() macro 2002-05-23 21:13:53 +00:00
Leif Delgass
3a83c18c24 Checkpoint commit of async DMA, blits and AGP texturing. Buffer aging is
done with the pattern registers which is not ideal, but works. There
    are still lots of places where optimizing is needed. We need to do the
    minimum required to sync with the X server on context switches, since
    right now things slow down whenever the mouse is moved.
2002-05-18 08:57:54 +00:00
Leif Delgass
c3e3c95731 - interrupt-driven DMA framework written by Frank C. Earl (merged from
mach64-0-0-3-dma-branch)
- I've partly filled in the dma_dispatch implementation from the vertex
    dispatch code. We still need to deal with adding a register reset
    buffer to the end of the dma pass. The freelist and blits are also
    still to be filled in.
- I've added XF86Config options for the driver: ForcePCIMode - Don't use
    AGP for buffers/textures, even if agpgart is present PseudoDMAMode -
    Dispatch DMA buffers with MMIO, one register at a time. AgpMode - 1 or
    2 AgpSize - Size of AGP aperture to use for allocations BufferSize -
    Size of vertex buffers in MB (1 or 2)
2002-05-08 05:32:52 +00:00
Jose Fonseca
3c16d33f8a Changed the DMA emulation code to wait for FIFO instead of idle engine 2002-04-21 23:34:01 +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
Jose Fonseca
9448f35c3b Initial merge with the trunk (XFree 4.2.x, Mesa 4.x) 2002-02-26 22:02:37 +00:00