diff options
author | Aaron Plattner <aplattner@nvidia.com> | 2005-09-28 17:18:02 +0000 |
---|---|---|
committer | Aaron Plattner <aplattner@nvidia.com> | 2005-09-28 17:18:02 +0000 |
commit | e39eb8b8c1a79d04f90a195351c4eec3dba0d612 (patch) | |
tree | 82c14d4d88f293f4477dbbbcf73fb59ac7d473bb /src | |
parent | dc5acc2e477edb85f468f8d46862ca138426cfd9 (diff) |
Bug #3333 <https://bugs.freedesktop.org/show_bug.cgi?id=3333> Patch #3417
<https://bugs.freedesktop.org/attachment.cgi?id=3417>
Fix a hang during screen-to-screen blits on certain GeForce 6xxx and Quadro
FX 540 graphics cards.
Diffstat (limited to 'src')
-rw-r--r-- | src/nv_hw.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nv_hw.c b/src/nv_hw.c index b474074..cd7ee5a 100644 --- a/src/nv_hw.c +++ b/src/nv_hw.c @@ -919,7 +919,7 @@ void NVLoadStateExt ( RIVA_HW_STATE *state ) { - int i; + int i, j; pNv->PMC[0x0140/4] = 0x00000000; pNv->PMC[0x0200/4] = 0xFFFF00FF; @@ -1172,6 +1172,10 @@ void NVLoadStateExt ( pNv->PGRAPH[0x0090/4] = 0x00008000; pNv->PGRAPH[0x0610/4] = 0x00be3c5f; + j = pNv->REGS[0x1540/4] & 0xff; + for(i = 0; !(j & 1); j >>= 1, i++); + pNv->PGRAPH[0x5000/4] = i; + if((pNv->Chipset & 0xfff0) == 0x0040) { pNv->PGRAPH[0x09b0/4] = 0x83280fff; pNv->PGRAPH[0x09b4/4] = 0x000000a0; |