AGP busmanager for Haiku
Haiku AGP busmanager history:
Since I wrote a 2D driver, and I was also working on a 3D driver, I was very interested in increasing speeds: especially for 3D (framerates).
This is why I started on the Haiku AGP busmanager. After version 0.02 (I think) Axel Dörfler added GART support to the manager and adapted it more
to also work with Thomas Kürchel's 2D ATI graphics driver.
Rudolf Cornelissen.
AGP busmanager 0.02 features:
This basic, generic AGP busmanager supports all AGP hostbridges and all
AGP graphicscards. It should work on BeOS R5, Dano, Zeta and Max.
Note please:
This module will only be in effect if a graphicsdriver uses it. In case
your card's driver doesn't support it (yet), you can install the
optional fake graphicsdriver supplied below. This fake driver should
work without interfering with your actual graphicsdriver, whether it
controls the module itself or not.
Current features:
- Can enable AGP transfers including SBA (sideband adressing);
- Sets up AGP maximum request depth.
- Can enable PCI FW (fastwrites);
Supported devices:
- all 'PCI-class' host bridges with AGP interface;
- all 'PCI-class' graphics cards with AGP interface.
Known limitations:
- No GART and AGP aperture support (yet);
- No AGP3.0 specific feature support (yet), such as 'asynchronous
request size', 'calibration cycle' and 'isochronous transfers'. The
registers and register-fields for these features are currently
programmed to default 'safe' modes or disabled on power-up.
Fixes for AGP busmanager 0.02:
This version should be considered a stable release.
Fixes/enhancements:
- Reversed order of programming devices when AGP mode is
requested to be disabled. The order of programming devices now adheres
to the official AGP specification (missed this item before). This fixes
potential coldstart trouble on nVidia cards at least (confirmed a
GeForce 4 MX4000);
- Modified agp.setting for blocking PCI fastwrites
(block_fw) to be set to true by default: Fastwrites tend to create
trouble on some systems outthere (most notably systems with ATI graphics
cards).
Notes:
- You're encouraged to enable PCI fastwrites if it works for your
system, since this will speedup unaccelerated bitmap drawing, as used
in:
- Bitmap style video playback;
- Overlay style video playback;
- unaccelerated 3D, especially when displaying 'simple' scene's (GLteapot);
- 3D texture loading with accelerated drivers, if that function isn't accelerated (all current nVidia 3D drivers).
- Even without the use of PCI fastwrites, at least the nVidia
driver will benefit from the busmanager, since it actually uses AGP
transfers to send commands to the acceleration engine (unless the AGP
busmanager isn't installed, in which case it automatically runs in PCI
mode).
Fixes for AGP busmanager 0.01:
This version should be considered a stable release.
Fixes/enhancements:
Rudolf.
(Page last updated on May 1, 2016)