diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2009-12-03 21:14:00 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2009-12-03 21:14:00 +1000 |
commit | 60a394222b410da8bb832935fc525132218b4d94 (patch) | |
tree | 5fee0d9546e0e9fe86171c1b2a6195b7a9118d27 | |
parent | 95fc663d5fb653fc0a50aa4d589bbf3b9c79e928 (diff) |
nv50: avoid touching 0x16b0 on 0x8597, it causes a DATA_ERROR from the GPU
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | src/nv50_accel.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/nv50_accel.c b/src/nv50_accel.c index 165995f..b3b1584 100644 --- a/src/nv50_accel.c +++ b/src/nv50_accel.c @@ -149,9 +149,14 @@ NVAccelInitNV50TCL(ScrnInfoPtr pScrn) OUT_RING (chan, 0x00000033); BEGIN_RING(chan, tesla, NV50TCL_VP_REG_ALLOC_RESULT, 1); OUT_RING (chan, 6); - BEGIN_RING(chan, tesla, NV50TCL_VP_RESULT_MAP_SIZE, 2); - OUT_RING (chan, 8); - OUT_RING (chan, 0); /* NV50TCL_VP_REG_ALLOC_TEMP */ + if (tesla->grclass != 0x8597) { + BEGIN_RING(chan, tesla, NV50TCL_VP_RESULT_MAP_SIZE, 2); + OUT_RING (chan, 8); + OUT_RING (chan, 0); /* NV50TCL_VP_REG_ALLOC_TEMP */ + } else { + BEGIN_RING(chan, tesla, NV50TCL_VP_RESULT_MAP_SIZE, 1); + OUT_RING (chan, 8); + } BEGIN_RING(chan, tesla, NV50TCL_VP_START_ID, 1); OUT_RING (chan, 0); |