diff options
author | Alan Coopersmith <Alan.Coopersmith@sun.com> | 2005-09-23 16:25:28 +0000 |
---|---|---|
committer | Alan Coopersmith <Alan.Coopersmith@sun.com> | 2005-09-23 16:25:28 +0000 |
commit | dc5acc2e477edb85f468f8d46862ca138426cfd9 (patch) | |
tree | bef2b8991d08e3d27973484b8d8581f26f9014f6 | |
parent | b0ea43a51d2a6983559eecdb7dbb73c5e585697c (diff) |
Bug #4558 <https://bugs.freedesktop.org/show_bug.cgi?id=4558> Patch #3551
<https://bugs.freedesktop.org/attachment.cgi?id=3381>
22-Sep-2005 nv driver update from Mark Vojkovich: Fix possible cause of
some acceleration instability on some GeForce6xxx parts.
-rw-r--r-- | src/nv_hw.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/nv_hw.c b/src/nv_hw.c index ae22db1..b474074 100644 --- a/src/nv_hw.c +++ b/src/nv_hw.c @@ -36,7 +36,7 @@ |* those rights set forth herein. *| |* *| \***************************************************************************/ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c,v 1.16 2005/09/14 02:28:03 mvojkovi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c,v 1.17 2005/09/22 20:34:42 mvojkovi Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1264,18 +1264,28 @@ void NVLoadStateExt ( if((pNv->Architecture < NV_ARCH_40) || ((pNv->Chipset & 0xfff0) == 0x0040)) { - for(i = 0; i < 32; i++) + for(i = 0; i < 32; i++) { pNv->PGRAPH[(0x0900/4) + i] = pNv->PFB[(0x0240/4) + i]; + pNv->PGRAPH[(0x6900/4) + i] = pNv->PFB[(0x0240/4) + i]; + } } else { if(((pNv->Chipset & 0xfff0) == 0x0090) || ((pNv->Chipset & 0xfff0) == 0x01D0) || ((pNv->Chipset & 0xfff0) == 0x0290)) { - for(i = 0; i < 60; i++) + for(i = 0; i < 60; i++) { pNv->PGRAPH[(0x0D00/4) + i] = pNv->PFB[(0x0600/4) + i]; + pNv->PGRAPH[(0x6900/4) + i] = pNv->PFB[(0x0600/4) + i]; + } } else { - for(i = 0; i < 48; i++) + for(i = 0; i < 48; i++) { pNv->PGRAPH[(0x0900/4) + i] = pNv->PFB[(0x0600/4) + i]; + if(((pNv->Chipset & 0xfff0) != 0x0160) && + ((pNv->Chipset & 0xfff0) != 0x0220)) + { + pNv->PGRAPH[(0x6900/4) + i] = pNv->PFB[(0x0600/4) + i]; + } + } } } |