[Nouveau] [PATCH] nv50/accel: Fix mangled A8+A8 shader.
Christoph Bumiller
e0425955 at student.tuwien.ac.at
Fri Feb 5 09:14:55 PST 2010
On 02/05/2010 06:01 PM, Marcin Kościelnicki wrote:
> 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.
Thank you, pushed.
> ---
> 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);
More information about the Nouveau
mailing list