diff options
author | Marcin KoĆcielnicki <koriakin@0x04.net> | 2010-02-05 18:09:55 +0100 |
---|---|---|
committer | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-02-05 18:09:55 +0100 |
commit | e75dd23bd28f636b4c1759633d8dbc775e799add (patch) | |
tree | 3b7846997b36372c4b869bac8c2d4afbe4eacc4f | |
parent | 41fc1fdec47fa824c598e1f3d828f4c8c4a2cb71 (diff) |
nv50/accel: Fix mangled A8+A8 shader.
Turns out we used a misaligned long instruction near the end, and the
shader was getting killed after writing R, A components. This has gone
unnoticed since the remaining G, B outputs aren't actually used.
-rw-r--r-- | src/nv50_accel.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nv50_accel.c b/src/nv50_accel.c index 5fa539c..1218e18 100644 --- a/src/nv50_accel.c +++ b/src/nv50_accel.c @@ -291,7 +291,7 @@ NVAccelInitNV50TCL(ScrnInfoPtr pScrn) OUT_RING (chan, (0 << NV50TCL_CB_DEF_SET_BUFFER_SHIFT) | 0x4000); BEGIN_RING(chan, tesla, NV50TCL_CB_ADDR, 1); OUT_RING (chan, 0); - BEGIN_RING_NI(chan, tesla, NV50TCL_CB_DATA(0), 15); + BEGIN_RING_NI(chan, tesla, NV50TCL_CB_DATA(0), 16); OUT_RING (chan, 0x80000000); OUT_RING (chan, 0x90000004); OUT_RING (chan, 0x82030208); @@ -302,7 +302,8 @@ NVAccelInitNV50TCL(ScrnInfoPtr pScrn) OUT_RING (chan, 0x00008784); OUT_RING (chan, 0xf0400209); OUT_RING (chan, 0x00008784); - OUT_RING (chan, 0xc002000c); + OUT_RING (chan, 0xc002000d); + OUT_RING (chan, 0x00000780); OUT_RING (chan, 0x10008600); OUT_RING (chan, 0x10008604); OUT_RING (chan, 0x10000609); |