diff options
author | Jeremy Kolb <jkolb@brandeis.edu> | 2007-01-21 20:47:10 -0500 |
---|---|---|
committer | Jeremy Kolb <jkolb@brandeis.edu> | 2007-01-21 20:47:10 -0500 |
commit | 95fc270b06f07268732ade745084410bbc877168 (patch) | |
tree | 8666e2d1052afc3881038a34d94ffbf001a2160e /src/mesa/drivers/dri/nouveau/nv40_vertprog.c | |
parent | ea441355d304ceff0d7eac4e112ed713ea08a43f (diff) | |
parent | d1f0a55af42c8a34c2d59ca003e7d7a8263665fb (diff) |
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nv40_vertprog.c')
-rw-r--r-- | src/mesa/drivers/dri/nouveau/nv40_vertprog.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nv40_vertprog.c b/src/mesa/drivers/dri/nouveau/nv40_vertprog.c index 0493e18403..1ba1cfd155 100644 --- a/src/mesa/drivers/dri/nouveau/nv40_vertprog.c +++ b/src/mesa/drivers/dri/nouveau/nv40_vertprog.c @@ -228,6 +228,15 @@ NV40VPSetSource(nvsFunc *shader, nvsRegister * src, int pos) } static void +NV40VPSetBranchTarget(nvsFunc *shader, int addr) +{ + shader->inst[2] &= ~NV40_VP_INST_IADDRH_MASK; + shader->inst[2] |= ((addr & 0xf8) >> 3) << NV40_VP_INST_IADDRH_SHIFT; + shader->inst[3] &= ~NV40_VP_INST_IADDRL_MASK; + shader->inst[3] |= ((addr & 0x07) << NV40_VP_INST_IADDRL_SHIFT); +} + +static void NV40VPInitInstruction(nvsFunc *shader) { unsigned int hwsrc = 0; @@ -657,6 +666,7 @@ NV40VPInitShaderFuncs(nvsFunc * shader) shader->SetResult = NV40VPSetResult; shader->SetSource = NV40VPSetSource; shader->SetLastInst = NV40VPSetLastInst; + shader->SetBranchTarget = NV40VPSetBranchTarget; shader->HasMergedInst = NV40VPHasMergedInst; shader->GetOpcodeHW = NV40VPGetOpcodeHW; |