nvfx: fix fragment program constant updates
authorLuca Barbieri <luca@luca-barbieri.com>
Sun, 18 Apr 2010 12:44:26 +0000 (14:44 +0200)
committerLuca Barbieri <luca@luca-barbieri.com>
Sun, 18 Apr 2010 14:23:11 +0000 (16:23 +0200)
src/gallium/drivers/nvfx/nvfx_fragprog.c

index aaa30bd60e32df8a02f85fc4fcae72416d8f2090..0a4f35ef8e789d5b946bfaa01a400909c6ab3c19 100644 (file)
@@ -874,7 +874,10 @@ nvfx_fragprog_validate(struct nvfx_context *nvfx)
                fp->bo_prog_idx = fp->progs_per_bo - 1;
        }
 
-       if (nvfx->dirty & NVFX_NEW_FRAGCONST)
+       /* we must update constants even on "just" fragprog changes, because
+          we don't check whether the current constant buffer matches the latest
+          one bound to this fragment program */
+       if (nvfx->dirty & (NVFX_NEW_FRAGCONST | NVFX_NEW_FRAGPROG))
                update = TRUE;
 
        if(update) {