nv30: was setting wrong register
authorPatrice Mandin <pmandin@caramail.com>
Sat, 12 Jul 2008 08:13:58 +0000 (10:13 +0200)
committerPatrice Mandin <pmandin@caramail.com>
Sat, 12 Jul 2008 08:13:58 +0000 (10:13 +0200)
src/gallium/drivers/nv30/nv30_fragprog.c

index 06ed04cbfeb0dca09376b93b55f682668f6f5803..59e79d66f2affd02fd30f36feed4d33659ec554f 100644 (file)
@@ -841,16 +841,15 @@ nv30_fragprog_validate(struct nv30_context *nv30)
        fp->buffer = ws->buffer_create(ws, 0x100, 0, fp->insn_len * 4);
        nv30_fragprog_upload(nv30, fp);
 
-       so = so_new(4, 1);
+       so = so_new(6, 1);
        so_method(so, nv30->screen->rankine, NV34TCL_FP_ACTIVE_PROGRAM, 1);
        so_reloc (so, fp->buffer, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_GART |
                  NOUVEAU_BO_RD | NOUVEAU_BO_LOW | NOUVEAU_BO_OR,
                  NV34TCL_FP_ACTIVE_PROGRAM_DMA0, NV34TCL_FP_ACTIVE_PROGRAM_DMA1);
        so_method(so, nv30->screen->rankine, NV34TCL_FP_CONTROL, 1);
        so_data  (so, fp->fp_control);
-       /* FIXME: Add these, and you'll have big slowdown */
-       /*so_method(so, nv30->screen->rankine, NV34TCL_FP_REG_CONTROL, 1);
-       so_data  (so, fp->fp_control);*/
+       so_method(so, nv30->screen->rankine, NV34TCL_FP_REG_CONTROL, 1);
+       so_data  (so, fp->fp_reg_control);
        so_ref(so, &fp->so);
 
 update_constants: