=================================================================== RCS file: /xf86/anoncvs/cvs/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c 2005/09/14 02:28:03 1.16 +++ xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c 2005/09/22 20:34:42 1.17 @@ -36,7 +36,7 @@ |* those rights set forth herein. *| |* *| \***************************************************************************/ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c,v 1.15 2005/02/03 23:16:50 mvojkovi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c,v 1.16 2005/09/14 02:28:03 mvojkovi Exp $ */ #include "nv_local.h" #include "compiler.h" @@ -1260,18 +1260,28 @@ 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]; + } + } } }