- Fix texture allocation to use both AGP and local textures (still need to
fix LRU algorithm to choose from both local and AGP heaps for texture
swapping)
- To enable, add `Option "UseCCEfor2D" "TRUE"' to "Device" section in
XF86Config file
- This fixed missing primitives problem
- Added minimal PCI support (PIO only with no VBs)
- Autodetect PCI cards -- selets CCE PIO mode and disables VBs
- Kernel module will now build without AGP support (for PCI cards only)
- Added BuildXF86DRM to host.def file so that the kernel module is
automatically built
- Fixed potential incorrectly fogged primitives by moving VB flush to
before mode changes
- Fixed initialization of dirty and dirty_context flags
- Fixed clear incorrectly resetting dirty flags
- Fixed timeout with WaitForIdle by separating out EngineFlush call
- Fixed flashing textures problem
- Fixed multiple clients rendering with incorrect HW state
- Fixed VB flush lockup with multiple clients
- Fixed DRIScreenInit failure crash
- Fixed uninitialized palette after VT switch problem
- Fixed the texture corruption problem by initializing endianness in
DP_DATATYPE reg
- Fixed cursor corruption and cursor flashing problems
- Removed "magic numbers" from kernel module
- Added wait_for_idle pixel cache flush in CCE ring buffer mode
- Cleaned up CCE ring buffer wrapping code
- Changed kernel and driver code to better handle CCE timeouts
- Fixed static 3D driver build problem
- Fixed very large packets bug in drmR128SubmitPackets
- Fixed static server drm build problem
- Fixed ring buffer wrapping problem
- Fixed drmR128GetVertexBuffers timeout
- Fixed locking problem with VB flushes
- Added fallback code for when VBs are disabled
- General kernel and 3d driver code cleanup
- Added swap buffer throttling to keep from getting too many frames ahead
- Fixed engine reset infinite loop in X server
- Added VB size parameter
- Added timeout parameter to allow the timeout to be tuned
- Fixed CCE timeout/lock ups in kernel driver
- Fixed ring reset in kernel driver
- Fixed read-only mmap problem (Rik Faith)
- Added support for multiple aux cliprects (Gareth Hughes)
- Added fog table, dither, color mask support (Gareth Hughes)
- Updated span/depth SW fallbacks (Gareth Hughes)
- Added HOSTDATA_BLT texture uploads (Gareth Hughes)
- Added support for other texture formats (Gareth Hughes)
engine, wait for CCE idle and submit a buffer of CCE packets
- Modified the CCE packet dispatch mechanism to use a single submission
function that can send the packets to the CCE in either PIO mode or
using the ring buffer
- Moved CCE packet dispatch to the kernel driver
- Simplified the CCE macros and made them work with the new CCE packet
dispatch mechanism
- Added an option to only allow legal/secure CCE packets
- Merged the os-support dir from the trunk into the ATI branch
- Fixed some of the engine hangs by reseting the engine when switching to
non-CCE mode (Gareth Hughes)
- Fixed a bug where I wasn't grabbing HW lock around calls to WaitForIdle
- Fixed vertex buffer bug where it would wrap around and start reusing
buffers that had yet to be processed (this is a temporary fix until
vertex buffer allocation can be added to kernel driver)
- Added HW accel lines and points
- Added configuration support for selecting CCE mode, CCE security, AGP
mode, AGP size, ring buffer size, and vertex buffers size in the
"Device" section of XF86Config file
- Changed to map each region of AGP space separately (for security)
- Changed MMIO region mapping to be read-only (in secure mode)
- Fixed problem where swap buffers could be called when no back buffer
exists
- Fixed resetting of the ring buffer in the client, X server and kernel
drivers (also now correctly reinitialize the ring buffer read/write
indices)