summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2005-09-28 17:18:02 +0000
committerAaron Plattner <aplattner@nvidia.com>2005-09-28 17:18:02 +0000
commite39eb8b8c1a79d04f90a195351c4eec3dba0d612 (patch)
tree82c14d4d88f293f4477dbbbcf73fb59ac7d473bb
parentdc5acc2e477edb85f468f8d46862ca138426cfd9 (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.
-rw-r--r--src/nv_hw.c6
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;