added fix (not yet completely tested) for NV40/NV45 artifacts on heavy acc engine use. Bumped driverversion to 0.37.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11419 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rudolf Cornelissen
2005-02-19 12:50:09 +00:00
parent ba37dabf99
commit 10988528d1
2 changed files with 11 additions and 2 deletions
@@ -443,7 +443,6 @@ status_t nv_acc_init_dma()
ACCW(NV40_WHAT1, 0x000000a0);
ACCW(NV40_WHAT2, 0x0078e366);
ACCW(NV40_WHAT3, 0x0000014c);
// NV_REG32(NV32_PFB_CLS_PAGE2) &= 0xffff7fff; //clear b15 (unknown)
break;
case NV41:
ACCW(NV40P_WHAT0, 0x83280eff);
@@ -90,7 +90,7 @@ status_t nv_general_powerup()
{
status_t status;
LOG(1,("POWERUP: Haiku nVidia Accelerant 0.36 running.\n"));
LOG(1,("POWERUP: Haiku nVidia Accelerant 0.37 running.\n"));
/* preset no laptop */
si->ps.laptop = false;
@@ -1260,6 +1260,16 @@ static status_t nv_general_bios_to_powergraphics()
* (NOTE: testsignal function block resides in DAC1 only (!)) */
if (si->ps.secondary_head) DAC2W(TSTCTRL, (DAC2R(TSTCTRL) & 0xfffeefff));
/* NV40 and NV45 need a 'tweak' to make sure the CRTC FIFO's/shiftregisters get
* their data in time (otherwise momentarily ghost images of windows or such
* may appear on heavy acceleration engine use for instance, especially in 32-bit
* colordepth) */
if ((si->ps.card_type == NV40) || (si->ps.card_type == NV45))
{
/* clear b15: some framebuffer config item (unknown) */
NV_REG32(NV32_PFB_CLS_PAGE2) &= 0xffff7fff;
}
/* setup AGP:
* Note:
* This may only be done when no transfers are in progress on the bus, so now